AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Problem: Manchmal funktioniert es, manchmal nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Problem: Manchmal funktioniert es, manchmal nicht

Ein Thema von Metatron220 · begonnen am 6. Jan 2006 · letzter Beitrag vom 7. Jan 2006
Antwort Antwort
Metatron220

Registriert seit: 31. Okt 2004
33 Beiträge
 
#1

Problem: Manchmal funktioniert es, manchmal nicht

  Alt 6. Jan 2006, 00:12
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.
Angehängte Dateien
Dateityp: rar roter_punkt_675.rar (16,5 KB, 29x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Problem: Manchmal funktioniert es, manchmal nicht

  Alt 6. Jan 2006, 08:49
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.
Angehängte Dateien
Dateityp: zip roterpunkt_neu_203.zip (29,0 KB, 8x aufgerufen)
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Problem: Manchmal funktioniert es, manchmal nicht

  Alt 6. Jan 2006, 09:04
Hallo Metatron,

sei doch bitte so gut und verpasse Deinem Beitrag noch einen aussagekräftigen Titel. Danke.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#4

Re: Problem: Manchmal funktioniert es, manchmal nicht

  Alt 6. Jan 2006, 10:18
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".
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Problem: Manchmal funktioniert es, manchmal nicht

  Alt 6. Jan 2006, 11:11
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.

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;
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Problem: Manchmal funktioniert es, manchmal nicht

  Alt 6. Jan 2006, 11:25
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.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Metatron220

Registriert seit: 31. Okt 2004
33 Beiträge
 
#7

Re: Problem: Manchmal funktioniert es, manchmal nicht

  Alt 7. Jan 2006, 12:55
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*
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Problem: Manchmal funktioniert es, manchmal nicht

  Alt 7. Jan 2006, 17:35
Zitat von Metatron220:
Der Code war eh zu sehr zusammengepuzzelt und völlig undurchsichtig *g*
Sehr gut. Ich stimme dir zu 100% zu.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 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