Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem: Manchmal funktioniert es, manchmal nicht (https://www.delphipraxis.net/60373-problem-manchmal-funktioniert-es-manchmal-nicht.html)

Metatron220 5. Jan 2006 23:12


Problem: Manchmal funktioniert es, manchmal nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe ein Problem bei meinem Programm. Es soll später ein Menü werden, mit dem ich selbst gewählte Programme und Dateien öffnen kann ohne lange zu suchen. Jedoch hab ich ein kleines Problem. Das Ereignes des Button2 auf der Form 3 funktioniert nur manchmal. Manchmal will es einfach nicht. Außerdem kommen ab und zu scheinbar ohne Grund irgendwelche Fehlermeldungen.
Könnt ihr mir bitte helfen? Das Projekt habe ich angehängt.

chaosben 6. Jan 2006 07:49

Re: Problem: Manchmal funktioniert es, manchmal nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Leider kann ich dir nicht sagen wo in deinem Code die Fehler liegen. Ich hab ihm sage und schreibe eine halbe Stunde gewidmet, es dann aber doch aufgegeben.
Anbei hab ich dir mal meinen Vorschlag geliefert wie man es machen kann. Ich hab viele Kommmentare rein gemacht. Ich hoffe du verstehst es. Ansonsten frag ruhig. Da fehlt noch dies und das, z.B. das Ziehen des Punktes. Aber das kannst du ja machen.

Daniel 6. Jan 2006 08:04

Re: Problem: Manchmal funktioniert es, manchmal nicht
 
Hallo Metatron,

sei doch bitte so gut und verpasse Deinem Beitrag noch einen aussagekräftigen Titel. Danke. ;-)

tomsel 6. Jan 2006 09:18

Re: Problem: Manchmal funktioniert es, manchmal nicht
 
Du solltest die Bereichsprüfung etc. aktivieren, vieleicht findet dein Programm so seine Fehler selbst? Welche Delphiversion hat du? Delphi 5 z.Bsp. mag kein "var" vor class member Variablen, wie es bei deinem tform1 der Fall ist. Außerdem werden nicht alle Variablen initialisiert - oft auch ein Grund für "mal geht's und mal nicht".

robinWie 6. Jan 2006 10:11

Re: Problem: Manchmal funktioniert es, manchmal nicht
 
Zitat:

das Ziehen des Punktes.
@ chosben: ich nehme an du meinst damit das man den Punkt über Bildschirm bewegen kann, ich würde voschlagen den Roten Punkt als Tray darzustellen. Dann ist er nicht ständig im Weg. :wink:

Ich habe auch mal ein ähnliches Programm geschrieben bei mir funktioniert das ohne Probleme. Ich verwend zum öffnen von Dateien bzw. Programm diese Procedure
Delphi-Quellcode:
procedure TMainForm.ExecuteProgramm(const PFileName: string);
var
  SEInfo: TShellExecuteInfo;
  ExitCode: DWORD;
  ExecuteFile, ParamString, StartInString: string;
begin
  ExecuteFile:=PFileName;
  FillChar(SEInfo, SizeOf(SEInfo), 0);
  SEInfo.cbSize := SizeOf(TShellExecuteInfo);
  with SEInfo do begin
    fMask := SEE_MASK_NOCLOSEPROCESS;
    Wnd := Application.Handle;
    lpFile := PChar(ExecuteFile);
    nShow := SW_SHOWNORMAL;
  end;
  if ShellExecuteEx(@SEInfo) then begin
    repeat
      Application.ProcessMessages;
      GetExitCodeProcess(SEInfo.hProcess, ExitCode);
    until (ExitCode <> STILL_ACTIVE) or //<- Hier würde ich hinschreieben Application.Terminated=False;
      Application.Terminated; //edit: und das hier löschen
  end
  else begin
  Application.MessageBox('Fehler beim Starten des Programms',
  'Programm Starten',
  mb_OK+mb_IconError);
  end;
end;

chaosben 6. Jan 2006 10:25

Re: Problem: Manchmal funktioniert es, manchmal nicht
 
Danke für den Hinweis.
Das man meinen Punkt nicht bewegen kann lag einfach daran, das ich mir dachte: Das bißchen kann der gute Metatron220 auch selbst noch machen.
Klar ist das Tray-Icon schöner. Aber das wollte ich dem Fragesteller überlassen. Mein Programm war nur als Veranschaulichung gedacht, um zu zeigen wie man so etwas größtenteils fehlerfrei und nachvollziehbar implementiert. :)

Metatron220 7. Jan 2006 11:55

Re: Problem: Manchmal funktioniert es, manchmal nicht
 
Vielen Dank für die Hilfe. Ich hab das Ganze jetzt einfach nochmal komplett neu geschrieben. Der Code war eh zu sehr zusammengepuzzelt und völlig undurchsichtig *g*

chaosben 7. Jan 2006 16:35

Re: Problem: Manchmal funktioniert es, manchmal nicht
 
Zitat:

Zitat von Metatron220
Der Code war eh zu sehr zusammengepuzzelt und völlig undurchsichtig *g*

Sehr gut. Ich stimme dir zu 100% zu. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz