![]() |
Application.Icon aus Resource laden? (Delphi 7)
Ich möchte aus einer Resource mithilfe eines Streams ein Icon laden. Nun hab ich es so versucht:
Delphi-Quellcode:
Da kommt aber immer nur:
procedure TForm1.FormCreate(Sender: TObject);
var Res:TResourceStream; bla:TStream; begin bla:=TStream.Create; Res:=TResourceStream.Create(hInstance, 'res', PChar('ICO')); Res.SaveToStream(bla); FreeAndNil(Res); Application.Icon.LoadFromStream(bla); FreeAndNil(bla); //... end;
Code:
Zeile 44: bla:=TStream.Create;
[Warning] Unit1.pas(44): Constructing instance of 'TStream' containing abstract method 'TStream.Read'
[Warning] Unit1.pas(44): Constructing instance of 'TStream' containing abstract method 'TStream.Write' Beim Ausführen kommt dann "Abstract Error"... Was geht da vor?! MfG Z4ppy PS.: Wahrscheinlich isses irgendein ganz blöder Fehler, was wohl dran liegt, dass ich einfach verdammt müde bin :D Ihr könnt euch bis am Vormittag Zeit lassen mit der Antwort, vorher werd ichs eh net lesen :D €dit: Bitte kommt net mit "mach das icon doch via Project > Options... rein" oder so... Ich weiss, dass das so geht, aber ich brauch den Weg via Stream aus ner Resource... |
Re: Application.Icon aus Resource laden? (Delphi 7)
Also du darfst kein Objekt der Klasse TStream direkt erzeugen sondern immer nur die Nachkommen
der TStream-Klasse (z.B. TMemoryStream, TStringStream, TFileStream, ...). TStream ist ein abstrakte Basisklasse. Du verwendest FreeAndNil in falscher Weise. Nur bei Variablen, die länger leben als nur ein Prozedureaufruf, macht FreeAndNil überhaupt Sinn. Hier reicht ein normales Free völlig aus.
Delphi-Quellcode:
// ungetestet
procedure TForm1.FormCreate(Sender: TObject); var Res:TResourceStream; begin Res:=TResourceStream.Create(hInstance, 'res', PChar('ICO')); Application.Icon.LoadFromStream(Res); Res.Free; //... end; |
Re: Application.Icon aus Resource laden? (Delphi 7)
Thx, it works :)
MfG Z4ppy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz