Ja bestimmt nerve ich schon mit dem Kram
Folgendes verhalten.
Delphi-Quellcode:
var
TempFont: GpFont;
//..
begin
if Assigned(TempFont) then
begin
GdipCheck(GdipDeleteFont(TempFont)); // Lösche das Font Object
TempFont := nil;
end;
end;
Mit D2010 und 32Bit Anwendung habe ich hier kein Problem.
Bei 64Bit kracht es weil beim Ausführen der Funktion TempFont anscheinend nicht NIL ist.
Sie wird nicht mit NIL initialisiert sondern irgendeinen imaginären wert.
Das gleiche Problem habe ich auch schon bei anderen Funktionen bemerkt.
Warum ist das so?
Es funktioniert unter 64Bit nur dann wenn ich sie selbst initialisiere.
Delphi-Quellcode:
var
TempFont: GpFont;
//..
begin
TempFont := nil;
if Assigned(TempFont) then
begin
GdipCheck(GdipDeleteFont(TempFont)); // Lösche das Font Object
TempFont := nil;
end;
end;
In D2010 bekomme ich dann aber eine Warnung.. Variable wird nicht verwendet.
Sehr seltsam dieses Verhalten.
Man sollte wirklich mal einen Thread erstelle
Wie Migriert man richtig zu 64Bit
Die Fehler die ich bisher schon gefunden habe sind wirklich kurios bis weilen.
Seltsamerweise tritt dieser Fehler aber nur unter Win10 auf das kommt noch dazu.
gruss