AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SaveDialog.Execute führt zu Delphi-Absturz

Ein Thema von TheMiller · begonnen am 27. Apr 2012 · letzter Beitrag vom 2. Mai 2012
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 17:24
Hallo,

hab mal wieder ein seltsames Problem. Ich rufe den SaveDialog über Execute auf, dieser erscheint und führt alles korrekt aus. Danach beende ich das Programm und beim Beenden verschwindet das ausgeführte Programm und Delphi "wartet auf Rückmeldung" in einer Endlosschleife. Mir bleibt nur übrig, es zu killen.

Der Dialog wird in einer ganz kleinen Prozedur aufgrufen (kein Thread). Kommentiere ich alles aus dieser Prozedur aus, schließt sich das Programm normal und Delphi "überlebt".

Kommentiere ich alles aus, außer das SaveDialog.Execute, tritt das o.g. Verhalten auf.

Es liegt aber irgendwie an der Exe bzw. dem Projekt. Wenn ich den gleichen, simplen Code in einem neuen Projekt aufrufe, dann klappt alles.

Delphi-Quellcode:
  if (SaveDialog1.Execute) then
  begin
    MessageDLG('ok', mtInformation, [mbOK], 0);
  end;
Könnt ihr mir helfen? Was könnte das nun wieder sein?

Danke im Voraus
  Mit Zitat antworten Zitat
haui95

Registriert seit: 1. Feb 2012
Ort: Niedersachsen
29 Beiträge
 
Delphi 7 Personal
 
#2

AW: SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 17:34
Guten Tag,
was genau möchtest du mit dem SaveDialog bewirken ?
Es ist ja eigentlich sinnfrei diesen SaveDialog auszuführen, nur um eine Information in einem Fenster anzuzeigen.
Vielleicht könntest du ein bisschen mehr von deinem Quelltext posten.

Mit freundlichem Gruß
Hauke
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 17:37
Was passiert wenn das Programm außerhalb der IDE ausgeführt wird?

Falls nur innerhalb der IDE würde ich auf den Virenscanner tippen? Evtl. Avira installiert?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#4

AW: SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 17:40
Hi,

ehm ja - eigentlich wollte ich mit dem SaveDialog schon eine Datei speichern. Nur zu Test-/Debugzwecken habe ich jegliche Code-Zeilen entfernt / auskommentiert, sodass nur diese zwei Zeilen übrig geblieben sind.

Ich wollte damit verdeutlichen, dass es nicht an meinem Code liegt (da dieser ja auskommentiert ist) und der Fehler auch dann auftritt, wenn nur die Methode "SaveDialog1.Execute" aufgerufen wird.

Dies ist aber nur in diesem Projekt so.

Ich starte die Exe, gehe auf exportieren und dann kommt auch gleich die SaveDialog-Zeile. Mehr mache ich nicht.

Was passiert wenn das Programm außerhalb der IDE ausgeführt wird?

Falls nur innerhalb der IDE würde ich auf den Virenscanner tippen? Evtl. Avira installiert?
Ehm wow: Außerhalb der IDE funktioniert es. Jetzt bin ich erstaunt. Avira ist installiert, hatte aber nie Probleme in der Hinsicht.

EDIT: Mit ausgeschaltetem Avira (Echtzeitscan deaktivieren) tritt das gleiche - falsche - Verhalten auf.

Danke

Geändert von TheMiller (27. Apr 2012 um 17:43 Uhr)
  Mit Zitat antworten Zitat
haui95

Registriert seit: 1. Feb 2012
Ort: Niedersachsen
29 Beiträge
 
Delphi 7 Personal
 
#5

AW: SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 18:02
Hmm…
ich habe bei mir jetzt auch den gleichen Quelltext eingefügt und auf einen Button gelegt, doch komischerweise läuft mein Delphi Programm beim Beenden nicht in den Wald, obwohl sich lediglich dieses Fenster zum Speichern öffnet und noch nicht einmal ein Message Dialog angezeigt wird. Hast du schon einmal versucht Delphi neu zu starten oder ein anderen Quelltext mit dem SaveDialog zu belegen. Probier mal diesen hier:

Delphi-Quellcode:
if SaveDialog1.Execute then
  ShowMessage('Datei: ' + SaveDialog1.FileName)
else ShowMessage('Speichervorgang abgebrochen');

MfG
Hauke

Geändert von haui95 (27. Apr 2012 um 18:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#6

AW: SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 18:29
Hi,

hab wieder alles auskommentiert und deinen Code eingefügt. Gleiches Verhalten. Ich habe zusätzlich auch mal alles auf den Events onCloseQuery und onClose auskommentiert. Auch das half nicht.

Das Compiler-Fenster schreibt beim Beenden des Programms - an der Stelle an der der Fehler auftritt:

Zitat von Compiler:
Modul entladen: MSVCR80.DLL. Prozess xxxxxxxxx.exe (2284)
An dieser Stelle hängt's immer.
  Mit Zitat antworten Zitat
haui95

Registriert seit: 1. Feb 2012
Ort: Niedersachsen
29 Beiträge
 
Delphi 7 Personal
 
#7

AW: SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 18:44
Hmm…
die msvcr80.dll Datei gehört zur C Runtime Library. Ich weiß jetzt nicht, ob Delphi die Runtimes von Microsoft braucht, um bestimmte Programme ausführen zu können ? Hast du in den uses in deinem Quelltext vielleicht irgendwelche Bibliotheken, die auf die C Runtime verweisen deklariert. Schau einmal nach, ob du dort irgendetwas findest. Vielleicht auch einmal bei deinen installierten Programmen und Updates nachschauen, ob du vielleicht keine Runtimes installiert hast. Aber ich gehe nicht davon aus, dass es daran liegt.
Wie gesagt starte Delphi noch einmal neu, und probiere es noch einmal. Vielleicht auch einmal Delphi mit Administratorrechten starten, sofern du Vista oder Windows 7 hast.

MfG
Hauke
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#8

AW: SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 18:47
Hi,

danke für deine Hilfe. Delphi und den PC etc. habe ich schon mehrfach neu gestartet. Es ist also ein nachhaltiges Problem. Ich dachte erst, dass es an irgendwelchen Speicherlecks liegt, die ich produziere, aber ich finde nichts mit FastMM. Und nach dem Öffnen des Savedialogs bleibt er schon vor dem Anzeigen des FastMM-Resultates hängen, leider.

Ich werde das mal überprüfen und mich melden, wenn ich mehr weiß. vllt. habt ihr/hast du auch noch andere Ideen.

Danke jedenfalls!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 20:11
Hallo,

Zitat:
bleibt er schon vor dem Anzeigen des FastMM-Resultates hängen
Und was ist ohne FastMM4 ?
Schau mal an, wie gross die FastMM4-Datei wird.
Viell. hast du viele Lecks und es dauert beim Beenden halt etwas.
Test2:

SaveDialog1 mal löschen und neu aufs Form ziehen.

Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#10

AW: SaveDialog.Execute führt zu Delphi-Absturz

  Alt 27. Apr 2012, 20:50
Hallo!

Danke für die Ideen, aber daran liegt's auch nicht. Ich bin hinsichtlich der Lecks ein sehr vorbildlicher Programmierer. Meine Software hat kaum Lecks (ein paar von den Indys, aber ok)...

Hab den Fehler gefunden, aber das hilft mir trotzdem nicht. Ereignisanzeige von Windows zeigt folgendes:

Zitat von Ereignisanzeige:
Protokollname: Application
Quelle: Application Error
Datum: 27.04.2012 21:40:23
Ereignis-ID: 1000
Aufgabenkategorie100)
Ebene: Fehler
Schlüsselwörter:Klassisch
Benutzer: Nicht zutreffend
Computer: Delphi-PC
Beschreibung:
Name der fehlerhaften Anwendung: xxxxxx.exe, Version: 2.5.0.512, Zeitstempel: 0x4f9af5c2
Name des fehlerhaften Moduls: ntdll.dll, Version: 6.1.7601.17725, Zeitstempel: 0x4ec49b60
Ausnahmecode: 0x80000003
Fehleroffset: 0x000a187f
ID des fehlerhaften Prozesses: 0xf9c
Startzeit der fehlerhaften Anwendung: 0x01cd24ad5a7c2e37
Pfad der fehlerhaften Anwendung: C:\Kompilate\xxxxxxx\xxxxxxx.exe
Pfad des fehlerhaften Moduls: C:\Windows\SYSTEM32\ntdll.dll
Berichtskennung: d3ed6c65-90a0-11e1-b075-0800276ef1b5
Ereignis-XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2012-04-27T19:40:23.000000000Z" />
<EventRecordID>7363</EventRecordID>
<Channel>Application</Channel>
<Computer>Delphi-PC</Computer>
<Security />
</System>
<EventData>
<Data>[MeinProgramm].exe</Data>
<Data>[Version]</Data>
<Data>4f9af5c2</Data>
<Data>ntdll.dll</Data>
<Data>6.1.7601.17725</Data>
<Data>4ec49b60</Data>
<Data>80000003</Data>
<Data>000a187f</Data>
<Data>f9c</Data>
<Data>01cd24ad5a7c2e37</Data>
<Data>C:\Kompilate\xxxxxx\xxxxx.exe</Data>
<Data>C:\Windows\SYSTEM32\ntdll.dll</Data>
<Data>d3ed6c65-90a0-11e1-b075-0800276ef1b5</Data>
</EventData>
</Event>
Was kann ich nun tun?

Danke!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:58 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