Zitat:
Nach dem das Fenster geschlossen wurde ist aber der Timer noch aktiv, welcher dann auf ein nicht mehr vorhandenes Objekt zugrreifen will.
Hallo Markus
Ich setzte im OnClose der Hauptform den Timer2 auf False.
Code:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); // Programm schliessen
begin
try
Timer1.Enabled := False; // Timer beenden
Timer2.Enabled := False; // Timer beenden
finally
end;
Close;
end;
Das Problem besteht nur bei der Win64 Erzeugung. Bei der
Win32 Erzeugung wird die Vorschau gar nicht dargestellt.
Zitat:
Btw.: Ich würde den Benutzerpfad nicht hartkodieren sondern ihn vom System auslesen.
Dann besser wohl so:
Code:
uses shlobj,
ActiveX;
function GetSpecialFolder (aFolder: Integer): String;
var
pIdL: PItemIDList;
Path: array [0..Max_Path] of Char;
Allocator: IMalloc;
begin
SHGetSpecialFolderLocation (0, aFolder, pIdL);
SHGetPathFromIDList (pIDL, Path);
if Succeeded (SHGetMalloc (Allocator)) then
begin
Allocator.Free (pIdL);
{$IFDEF VER100}
Allocator.Release;
{$ENDIF}
end;
Result := Path;
end;
Auslesen in Edit:
Code:
Edit1.Text := GetSpecialFolder(CSIDL_PERSONAL)