Hallo,
ich habe hier im Forum zwei hervorragende Beispiele zum Thema TCollection von Jens Schumann gefunden, doch ich habe ein Paar Probleme mit dem einen Beispiel (unter <a href="/webx?13@@.ee70e3c/8">Jens Schumann "TList laden und speichern" 13.03.2001 15:49). Beim Speichern und Laden wurden andere Klassennamen verwendet und da ich mich mit IStorage nicht auskenne, hoffe ich, daß mir jemand helfen kann.
<pre>
procedure SaveAnalyseToFile(aAnalyse : TTPAnalyse; const Filename : String);
var
FRootStorage : IStorage;
aFilename : WideString;
stm : IStream;
OS : TOleStream;
StreamDummy : TTPAnalyseDummy;
begin
aFilename:=Filename; // Für Typecasting
OleCheck(StgCreateDocFile(PWideChar(aFilename),
STGM_CREATE or
STGM_READWRITE or
STGM_SHARE_EXCLUSIVE,
0,
FRootStorage)); OleCheck(FRootStorage.CreateStream(ANALYSEDATA,
STGM_CREATE or
STGM_WRITE or
STGM_SHARE_EXCLUSIVE,
0,0,stm));
StreamDummy:=TTPAnalyseDummy.Create(Nil);
Try
StreamDummy.Assign(aAnalyse);
OS:=TOleStream.Create(stm);
Try
OS.WriteComponent(StreamDummy);
Finally
OS.Free;
end;
Finally
StreamDummy.Free;
end;
end;</pre>
Frage: Wie muß der header umgesetzt werden (TTPAnalyse=im alten Beispiel?)und was ist "ANALYSEDATA"?
Gruß Alex
ich habe hier im Forum zwei hervorragende Beispiele zum Thema TCollection von Jens Schumann gefunden, doch ich habe ein Paar Probleme mit dem einen Beispiel (unter <a href="/webx?13@@.ee70e3c/8">Jens Schumann "TList laden und speichern" 13.03.2001 15:49). Beim Speichern und Laden wurden andere Klassennamen verwendet und da ich mich mit IStorage nicht auskenne, hoffe ich, daß mir jemand helfen kann.
<pre>
procedure SaveAnalyseToFile(aAnalyse : TTPAnalyse; const Filename : String);
var
FRootStorage : IStorage;
aFilename : WideString;
stm : IStream;
OS : TOleStream;
StreamDummy : TTPAnalyseDummy;
begin
aFilename:=Filename; // Für Typecasting
OleCheck(StgCreateDocFile(PWideChar(aFilename),
STGM_CREATE or
STGM_READWRITE or
STGM_SHARE_EXCLUSIVE,
0,
FRootStorage)); OleCheck(FRootStorage.CreateStream(ANALYSEDATA,
STGM_CREATE or
STGM_WRITE or
STGM_SHARE_EXCLUSIVE,
0,0,stm));
StreamDummy:=TTPAnalyseDummy.Create(Nil);
Try
StreamDummy.Assign(aAnalyse);
OS:=TOleStream.Create(stm);
Try
OS.WriteComponent(StreamDummy);
Finally
OS.Free;
end;
Finally
StreamDummy.Free;
end;
end;</pre>
Frage: Wie muß der header umgesetzt werden (TTPAnalyse=im alten Beispiel?)und was ist "ANALYSEDATA"?
Gruß Alex
Comment