Hallo zusammen,
was mache ich hier nur falsch:
Wenn ich den Quellcode mit "Kompilieren (F9)" kompiliere, bricht mir das Programm bei der
"procedure TControl.SetMouseCapture(Value : Boolean);" ab, wenn ich direkt auf die Form klicke.
Rufe ich die .exe direkt auf, passiert das nicht.
Wo ist da der Unterschied und wie behebe ich dies?
Ich benutzte Windows 7.
Gruß
boeffi27
Fehler bei SetMouseCapture?!
Re: Fehler bei SetMouseCapture?!
Verstehe zwar nur Bahnhof, aber der Unterschied zwischen dem Starten in der IDE und dem Starten der Exe aus dem Explorer o.ä. ist der Debugger, sofern dieser eingeschaltet ist, was er normalerweise ist.
- af0815
- Lazarusforum e. V.
- Beiträge: 6768
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Fehler bei SetMouseCapture?!
Liest sich nach Äpfel und Birnen laut meiner Glaskugel.
Kompilieren heisst, das das Programm übersetzt wird und erst nach einer Erfolgreichen Übersetzung gestartet wird (F9).
Er bricht also schon aber BEVOR das Programm fertig erzeugt ist und es somit auch noch keine neue EXE gibt.
Wenn ich die EXE direkt starte (aus dem Explorer), so starte ich eine alte Version, da ja die neue nicht gebaut werden konnte.
Zu sehen ist das, wenn ich die exe mal auf old umbenenne und neu mit F9 kompiliere, es ensteht dann keine neue exe, die ich aufrufen konnte.
Kompilieren heisst, das das Programm übersetzt wird und erst nach einer Erfolgreichen Übersetzung gestartet wird (F9).
Er bricht also schon aber BEVOR das Programm fertig erzeugt ist und es somit auch noch keine neue EXE gibt.
Wenn ich die EXE direkt starte (aus dem Explorer), so starte ich eine alte Version, da ja die neue nicht gebaut werden konnte.
Zu sehen ist das, wenn ich die exe mal auf old umbenenne und neu mit F9 kompiliere, es ensteht dann keine neue exe, die ich aufrufen konnte.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Fehler bei SetMouseCapture?!
Der Ablauf des Kompilierens ist mir bestens bekannt.
Also nochmal:
Fall1: Ich kompiliere den Quellcode mit F9, der Kompiler läuft fehlerfrei durch und erstellt das exe-File.
Klicke ich jetzt auf die Form (aber nicht bei den Komponenten), bricht das Programm an besagter Procedure ab.
Fall2: Ich starte das eben kompilierte Proramm direkt von der exe aus, habe ich das Problem nicht.
Woran kann das liegen?
Gruß
boeffi27
Also nochmal:
Fall1: Ich kompiliere den Quellcode mit F9, der Kompiler läuft fehlerfrei durch und erstellt das exe-File.
Klicke ich jetzt auf die Form (aber nicht bei den Komponenten), bricht das Programm an besagter Procedure ab.
Fall2: Ich starte das eben kompilierte Proramm direkt von der exe aus, habe ich das Problem nicht.
Woran kann das liegen?
Gruß
boeffi27
Re: Fehler bei SetMouseCapture?!
Lesen kannst du? Habe ich doch oben geschrieben.boeffi27 hat geschrieben: Woran kann das liegen?
Warum es beim "auf die Form klicken" zu einer Exception kommt, kann man ohne Code nicht sagen.
- af0815
- Lazarusforum e. V.
- Beiträge: 6768
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Fehler bei SetMouseCapture?!
Wie gesagt von Theo, das der Debugger eine Exception empfängt. Gibt es eine Meldung dazu, warum abgebrochen wird ?boeffi27 hat geschrieben:Woran kann das liegen?
Lässt sich das Programm dann mittels F9 ganz einfach fortsetzen ? Oder kommt nochmals eine Meldung.
Sind unter den Projektoptionen/Debugging die Checks aktiv ? Nicht das da ein nicht initialisierter oder wiederverwendeter Bereich ärger macht.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).