Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: [VST] Bei SaveNode mit TBitmap eine AV

  Alt 29. Jul 2010, 20:49
Was mir auffällt, ist, dass du Data^.Cover zwar erzeugst, aber danach nichts mehr damit machst. Stattdessen lädst du die Bilddaten in Data^.Image. Ich weiß aber im Moment weder, was TTreeData.Cover ist, noch was TTreeData.Image ist, weil du leider die Definition nicht verraten hast. Es wäre hilfreich, wenn du die noch nachliefern würdest. Mir scheint aber, als würdest du die beiden Felder an einigen Stellen vermischen, was vermutlich zu dem Fehler führt.

Erwarten würde ich sowas:
Delphi-Quellcode:
procedure TForm1.VSTSaveNode(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Stream: TStream);
var
  Data: PTreeData;
begin
  Data := VST.GetNodeData(Node);
  Data^.Cover.SaveToStream(Stream);
end;

procedure TForm1.VSTLoadNode(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Stream: TStream);
var
  Data: PTreeData;
  Len: integer;
begin
  Data := VST_Movies.GetNodeData(Node);
  Data^.Cover := TBitmap.Create;
  Data^.Cover.LoadFromStream(Stream);
end;
[edit]
Da kam kein roter Kasten
[/edit]
[edit2]
Wieso nutzt du eigentlich nicht die objektorientierte Variante? Mach es dir doch leichter und kapsel solche Angelegenheiten wie Erzeugen, Speichern und Laden.
[/edit2]

Geändert von Namenloser (29. Jul 2010 um 20:53 Uhr)
  Mit Zitat antworten Zitat