Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#23

Re: Sub-Komponenten serialisieren

  Alt 6. Okt 2006, 16:42
Hi jungs,

als ich das hier gelesen habe hab ich mich daran erinnert, dass ich ähnliches auch mal am Wickel hatte. das aber unter D5.

Bei mir war es so, dass beim Lesen der Serialisierung die Instanz der Komponente existieren mußte. Also bei nil ging es sowiso in die Hose. es reichte aus einfach erst mal ein Create auszuführen.

Ich geb euch hier mal meinen code für das Schreiben und Lesen der Serialisierung. Ich hoffe es hilft. Bei mir war es dann eigentlich kein Problem mehr.

Schreiben:
Delphi-Quellcode:
procedure TSercheThread.WriteListToFile;
var Stream : TFileStream;
begin
  IF not Assigned(FMahnListView) then Exit;
  Stream := TFileStream.Create(MahnFileName, fmCreate or fmShareDenyNone);
  try
    Stream.WriteComponent(FMahnListView);
  finally
    Stream.Free;
  end;
end;
Lesen:
Delphi-Quellcode:
procedure TSercheThread.ReadListFromFile;
var Stream : TFileStream;
begin
  IF not Assigned(FMahnListView) then Exit;

  IF not FileExists(ExtractFilePath(Application.ExeName) + MahnFileName) then
    Stream := TFileStream.Create(MahnFileName, fmCreate or fmShareDenyNone)
  else
    Stream := TFileStream.Create(MahnFileName, fmOpenReadWrite or fmShareDenyNone);

  try
    IF Stream.Size = 0 then Exit;
    FMahnListView := TListView(Stream.ReadComponent(FMahnListView));
  finally
    Stream.Free;
  end;
end;
Das war dann auch wirklich ein TListView. Ob das alles so mit TControl funzt wage ich zu bezweifeln. Ich hoffe ich konnte euch einen Hinweis geben der hilft (bin grad knapp in der Zeit und habe diesen Thread nur diagonal gelesen).

gruß oki
  Mit Zitat antworten Zitat