シンプルなレコードタイプがあります。このレコードの新しいインスタンスを割り当て、プロシージャ( "_clone")を使用して、既存のレコードから新しいレコードに値をコピーします。文字列値を割り当てた場合にのみアクセス違反が発生します。
何か案は?ヘルプは大歓迎です。
タイプ定義:
TPointer = ^TAccessoryItem;
TAccessoryItem = Record
Id : Integer;
PartNumber : String;
Qty : Integer;
Description : String;
Previous : Pointer;
Next : Pointer;
end;
Procedure TAccessoryList._clone (Var copy : TAccessoryItem; Var original : TAccessoryItem);
begin
copy.Id := original.Id;
copy.Qty := original.Qty;
copy.Partnumber := original.Partnumber; **// Access errors happens here**
copy.Next := Nil;
copy.Previous := Nil;
end;
以下のアプリケーションの呼び出し:
procedure TAccessoryList.AddItem(Var Item : TAccessoryItem);
Var
newItem : ptrAccessoryItem;
begin
GetMem(newItem, sizeOf(TAccessoryItem));
_clone(newItem^, Item);
end;