Hi Sir Rufo
Da hast du sicher recht - zukünftig das Zeugs nur noch auslesen anstat die ganze Sache neu zu schreiben, macht wirklich Sinn. Nur habe ichh eben mit dem Umgang der Datentypen noch Probleme. Bei meiner obigen Zuweisung an Result sind alle beteilligtten Bezeichner vom Typ TGuid, mit Ausnahme von ToByteArray - die ist vom Typ TEndian.
Aber ich seh grad in der Help:
Zitat:
function ToByteArray(DataEndian: TEndian = TEndian.Little): TBytes;
Nachdem ich die Deklatrationen nun angepasst habe:
Zitat:
[dcc32 Fehler] FileOpenFrameUnit.pas(196): E2010 Inkompatible Typen: 'TEndian' und 'TGUID'
Die selbe Fehlermeldung wie gehabt, nur dass der "fremde" Datentyp jetzt TGuid und nicht mehr TEndian ist.
Da TEndian lediglich ein Aufzählungstyp mit 2 Werten ist, wars vorher wohl richtiger.
Deinen Vorschlag einer Klasse hab ich mal begonnen, umzusetzen:
Zitat:
type
TIdentifierClass = Class(TPersistent)
private
FGuid: TGuid;
FByteArray : TByteArray;
FUniqquename: String;
FPath: String;
FFileStream: TFileStream;
FFileName : String;
function GetGuid: Boolean;
procedure SetBinaryGuid(Value: TGuid);
function GetBinaryGuid: TGuid;
public
procedure SaveToFile(Value: String);
property
Guid: Boolean read GetGuid;
property BinaryGuid: TGuid read GetBinaryGuid write SetBinaryGuid;
property StringGuid: TGuid read GetStringGuide write SetStringGuide;
property FileName: String read FFileName write FFilename;
end;
Aber die eigentliche Schwierigkeit schien mir: solange ich den richtigen Umgang in meiner Funktion nicht schaffe, krieg ich auch keine anständige Klasse hin.
Aber manchmal scheint
Wahnwitz testen zum Erfolg zu führen =>> Parameter TGuid durch Little ersetzt, und schon hat mir Delphi meinen Code ... nicht um die Ohren gehauen....
Gruss
Delbor