![]() |
string(Integer)
Nachdem ich mit der Lösung aus
![]() Dann beschwerte sich der Compiler an dieser Stelle:
Delphi-Quellcode:
string(ResID) ??! Man lernt ja nicht aus.
procedure TPngImage.LoadFromResourceID(Instance: HInst; ResID: Integer);
begin LoadFromResourceName(Instance, string(ResID)); end; Nach Lektüre von
Delphi-Quellcode:
habe ich dann folgende Lösung gefunden:
LoadFromResourceName
Delphi-Quellcode:
Ich weiß aber noch nicht mal, ob das funktioniert. Wieso geht
LoadFromResourceName(Instance, '#' + IntToStr(ResID));
Delphi-Quellcode:
? Warum nicht mehr unter 64 Bit? Ist meine Lösung korrekt?
string(ResID)
|
AW: string(Integer)
Hallo,
LoadFromResourceName war wohl unter 32Bit überladen (overload). Update: Bei mir ist es nicht überladen und der Typecast erzeugt einen Compiler-Fehler (ungültige Typumwandlung). |
AW: string(Integer)
Wieso compilierst du überhaupt TPngImage, wo das doch in Vcl.Imaging.pngimage bereits mitgeliefert wird?
|
AW: string(Integer)
Hallo,
Zitat:
|
AW: string(Integer)
Zitat:
Ich bin aber recht sicher, dass du die Antworten auf meine Fragen weißt, möchtest du sie nicht geben? |
AW: string(Integer)
Hallo,
dann benenn doch PngImage.pas um, dann Shift+F9 und schon meldet der Compiler die "verirrte" Unit ;) Ich dachte, Du benutzt die Unit. Interessant ist der typecast trotzdem. aber ich glaube, dass da was Sinnvolles rauskommt
Delphi-Quellcode:
Zugriffsverletzung innerhalb der Windows-eigenen Dlls.
i:= 100;
MessageBox(0, PChar(String(i)), '', 0); Ein harter Typecast mag den Compiler zufriedenstellen, aber ob zur Laufzeit was richtiges rauskommt ... |
AW: string(Integer)
Zitat:
Delphi-Quellcode:
Da ist nichts überladen.
procedure TPngImage.LoadFromResourceName(Instance: HInst; const Name: String);
var ResStream: TResourceStream; begin try ResStream := TResourceStream.Create(Instance, Name, RT_RCDATA); except RaiseError(EPNGCouldNotLoadResource, EPNGCouldNotLoadResourceText); exit; end; try LoadFromStream(ResStream); finally ResStream.Free; end; end; |
AW: string(Integer)
Hallo,
ja, siehe mein voriger Post. |
AW: string(Integer)
Zitat:
|
AW: string(Integer)
Hallo,
die Unit ausklammern? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 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 by Thomas Breitkreuz