AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Application.Icon aus Resource laden? (Delphi 7)
Thema durchsuchen
Ansicht
Themen-Optionen

Application.Icon aus Resource laden? (Delphi 7)

Ein Thema von Z4ppy · begonnen am 10. Aug 2008 · letzter Beitrag vom 10. Aug 2008
Antwort Antwort
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#1

Application.Icon aus Resource laden? (Delphi 7)

  Alt 10. Aug 2008, 01:41
Ich möchte aus einer Resource mithilfe eines Streams ein Icon laden. Nun hab ich es so versucht:
Delphi-Quellcode:
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;
Da kommt aber immer nur:
Code:
[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'
Zeile 44: bla:=TStream.Create;

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 Ihr könnt euch bis am Vormittag Zeit lassen mit der Antwort, vorher werd ichs eh net lesen

€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...
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Application.Icon aus Resource laden? (Delphi 7)

  Alt 10. Aug 2008, 04:27
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;
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Application.Icon aus Resource laden? (Delphi 7)

  Alt 10. Aug 2008, 11:17
Thx, it works

MfG Z4ppy
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz