Hallo berens,
warum machst du dir das Leben so schwer?
Delphi-Quellcode:
procedure Font_GetFontFromUser (aFont: TFont);
begin
with TFontDialog.Create(nil) do
try
Font.Assign(aFont);
if Execute then
aFont.Assign(Font);
finally
Free;
end;
end;
:
begin
Font_GetFontFromUser (FfntBla);
end;
Der Fehler in deinem Code liegt in den Zuweisungen zu "FD.Font". Dabei wird nämlich nicht etwa ein Zeiger kopiert, sondern der
Inhalt des Fonts über TFont.Assign. Nach der Freigabe des Dialogs zeigt der Rückgabewert der Funktion damit auf einen nicht mehr definierten Speicherbereich.
Gruß Hawkeye