Moin, Moin,
erwischt
Die Vermutung trifft ins Schwarze
Delphi-Quellcode:
PNodeData = ^TNodeData;
TNodeData = record
begin
EntryName : String;
Aliasname : String;
Category : TCategory;
Datatype : TDataType;
Description : String;
DisplayName : String;
Enabled : Boolean;
OSFamily : TOSFamily;
Remarks : TStringList;
Searchstr : TStringList;
Usertype : TUserType;
end;
...
procedure TSourceButtonPanel.CopyNodeData(var Destination : PNodeData;
const Source : PNodeData);
begin
with Destination^ do
begin
EntryName := Source^.EntryName;
Aliasname := Source^.Aliasname;
Category := Source^.Category;
Datatype := Source^.Datatype;
Description := Source^.Description;
DisplayName := Source^.DisplayName;
Enabled := Source^.Enabled;
OSFamily := Source^.OSFamily;
if (Assigned(Source^.Remarks) and (Source^.Remarks.Count > 0)) then
begin
Remarks := TStringList.Create;
Remarks.AddStrings(Source^.Remarks);
end;
if (Assigned(Source^.Searchstr) and (Source^.Searchstr.Count > 0)) then
begin
Searchstr := TStringList.Create;
Searchstr.AddStrings(Source^.Searchstr);
end;
Usertype := Source^.Usertype;
end;
end;
Sicherlich gibt es noch mehr Felder, aber die Datentypen sind abschließend.
Die Typen
TCategory, TDataType, TOSFamily, TUserType sind normale Enums.
Was mich bei der gazen Sache wurmt ist, dass die Einträge zwar kopiert und angezeigt werden,
aber in WriteFile(siehe Anhang Pos #1) Leer sind.