Einzelnen Beitrag anzeigen

Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
934 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: VirtualStringTree Daten kopieren und speichern

  Alt 7. Aug 2015, 04:10
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.
  Mit Zitat antworten Zitat