Nachdem ich mit der Lösung aus
diesem Thread viele Jahre ganz gut gefahren bin, habe ich dann doch mein Programm auf 64 Bit umgestellt. Zu meiner großen Verblüffung ging das vergleichsweise problemlos; da stecken eine Reihe von Komponenten drin, die doch recht betagt sind.
Dann beschwerte sich der Compiler an dieser Stelle:
Delphi-Quellcode:
procedure TPngImage.LoadFromResourceID(Instance: HInst; ResID: Integer);
begin
LoadFromResourceName(Instance, string(ResID));
end;
string(ResID) ??! Man lernt ja nicht aus.
Nach Lektüre von
LoadFromResourceName
habe ich dann folgende Lösung gefunden:
LoadFromResourceName(Instance, '#' + IntToStr(ResID));
Ich weiß aber noch nicht mal, ob das funktioniert. Wieso geht
string(ResID)
? Warum nicht mehr unter 64 Bit? Ist meine Lösung korrekt?