AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Seltsamer Fehler beim schließen

Ein Thema von Satyr · begonnen am 21. Jul 2014 · letzter Beitrag vom 22. Jul 2014
Antwort Antwort
Seite 1 von 2  1 2   
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 20:49
Ich habs nur für den close benutzt. Im Grunde nur zur reinen Übersichtlichkeit, für mich war der Code so strukturierter zu lesen.

Kurz dachte ich das Problem könnte der Wechsel der Systemcursor sein. Ausbauen davon hat aber leider nichts gebracht *grummel*.
Schlicht unterdrücken kann man das nicht, oder? Ich weiß, ist dirty. Ich meine auch nur zum testen. Mit TApplicationEvents habe ich ein Abfangen versucht, ohne Erfolg. Wohl weil es ein Fehler ohne konkrete Fehlernummer ist.

@humitsu
Die NT Schiene habe ich zum programmieren ausgelassen, Vista auch. Ins Programmverzeichnis habe ich aber schon vorher nur sehr ungern geschrieben. Ich hab da einiges verpennt, ja.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 21:01
Durch deine Verwendung von Form1 innerhalb der Klasse TForm1 entstand – zumindest bei mir – die Vermutung, daß dir noch weitere ähnliche Fehler unterlaufen sein könnten. Da es den durchaus hilfsbereiten Usern dieses Forums jedoch bislang verwehrt bleibt, deinen streng geheimen Code auf gewisse Verdächtige zu untersuchen, ist das Problem leider kaum lösbar. Anders ausgedrückt: Der einzige, der den Code durchforsten kann, um zu schauen, ob ihm was auffällt oder wo der Hase im Pfeffer liegen könnte, bist du. Wir können hier eigentlich nur dumm rumraten
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#3

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 21:03
Du könntest im Projektquelltext nach dem Run einmal eine MessageBox einbauen, dann alle Formulare freigeben und dann wieder eine MessageBox einbauen.
So findest du heraus, ob das Problem bei der Freigabe der Formulare entsteht.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 21:08
@Perlsau
Ihr ratet sicherlich nicht "dumm" herum, sondern wesentlich schlauer als ich es könnte .
Mein Quellcode ist im Grunde nicht geheim. Nur weiß ich nicht welcher Teil für Euch interessant wäre und ob mein Cheff das mag, wenn ich Code herumreiche...

@jaenicke
Danke für den Tipp, ich versuchs mal!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#5

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 21:14
NT ist alles seit NT, also auch bis Windows 8. (man könnte ja denken, daß die Entwickler sich in den letzen 20 Jahren hätten daran gewöhnen können)

Der Metro-Teil ist die neue RT-Schiene (Architektur/API), welchen es auch einzeln gibt (für ARM-CPUs).


Davor gab es vorallem die 3.1-Schiene (16 Bit > 1.x bis 3.x) und dann die 9x-Schiene (32 Bit DOS). Mit ME den 9x/NT-Mischmasch und nebenbei gab es noch CE und Mobile/Phone.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 21:14
Ich habs nur für den close benutzt. Im Grunde nur zur reinen Übersichtlichkeit, für mich war der Code so strukturierter zu lesen.
Dann solltest du korrekterweise Self.Close nehmen, denn Self (in einer Methode) ist immer der Verweis auf die aktuelle Instanz.

Im Gegensatz dazu ist Form1 der Verweis auf eine Instanz, die dort irgendwann mal von wem auch immer reingeschrieben wurde. Du kannst dir aber niemals sicher sein, dass das auch der Verweis auf die aktuelle Instanz ist, bei Self ist das per Definition immer so.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 21:27
Danke für die Hinweise und Tipps .

Also eine MessageBox nach Run wird beim Beenden von dem Programm angezeigt. Nun weiß ich aber nicht genau wo ich die Formulare per Hand freigeben soll.

Es könnte trotzdem sein das ich hier irgendwo etwas falsch mache. Ich habe das für eine SplashScreen ein wenig umgebaut, die Anleitung fand ich damals per Google. Hier der Code:

Delphi-Quellcode:
program Conceptor;

uses
  madExcept,
  madLinkDisAsm,
  madListHardware,
  madListProcesses,
  madListModules,
  Forms,
  sysUtils,
  Unit1 in 'Unit1.pas{Form1},
  Unit2 in 'Unit2.pas{SplashScreen},
  Unit3 in 'Unit3.pas{notepad},
  func in 'func.pas';

{$R *.res}

begin


Application.Initialize;
Application.Title := 'Conepter';

SplashScreen := TSplashScreen.Create(nil);
SplashScreen.Show;

application.ProcessMessages;
Sleep(1000);


  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(Tnotepad, notepad);


  Application.Run;
end.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#8

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 21:32
Application.Title := 'Conepter'; C?

Du könntest nach dem Application.Run mal ein FreeAndNil(Application) reinmachen und danach noch eine MessageBox.
Oder erstmal nur FreeAndNil(Form1); FreeAndNil(notepad); nach dem Run.

Bzw. über Screen.CustomForms alle Fenster auflisten und Diese freigeben.


Als allererste Unit in der DPR eine Unit aufnehmen, die nur Windows einbindet (im Interface) und in Finalization eine MessageBox anzeigt.


Wer gibt eigentlich den SplashScreen wieder frei?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (21. Jul 2014 um 21:35 Uhr)
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 21:43
Hm! Also das hier:

Delphi-Quellcode:
  Application.Run;

  FreeAndNil(Form1); FreeAndNil(notepad);
  Application.MessageBox('test', 'Test');
zeigt die Message an wenn ich das in Delphi rennen lasse, nicht aber auf dem Rechner mit Fehler. Da kommt nur wieder der Fehler und das wars.

Wenn ich dann die Formulare einzeln durchgehe, liegt der Fehler dann im Formular?

Edit: Den SplashScreen gebe ich in Form1 frei.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#10

AW: Seltsamer Fehler beim schließen

  Alt 21. Jul 2014, 21:57
Eine MessageBox noch zwischen die beiden Fenster und auch mal die Reihenfolge (der Free) tauschen
und schon weißt du bei welchem Form es hängt.

Das kann nun ein Code im OnDestroy sein oder eine der Komponenten.


PS: hier muß man aufpassen, denn wenn die Fenster schon vorher freigegeben wurden, dann steht in der Variable eine falsche Referenz, da normalerweise keiner diese Variablen freigibt, da sie keiner mehr kennt ... drum hatte ich auch das FreeAndNil verwendet, damit danach die Variable auch nil ist, denn dann knallt es "schöner", falls nochmal wer auf diese Variable zugreift.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz