AGB  ·  Datenschutz  ·  Impressum  







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

Fehler beim beenden durch FormDestroy

Ein Thema von NormanSteinmetz · begonnen am 29. Aug 2003 · letzter Beitrag vom 31. Aug 2003
Antwort Antwort
Seite 1 von 2  1 2      
NormanSteinmetz

Registriert seit: 21. Aug 2003
Ort: Oberhausen
9 Beiträge
 
#1

Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 13:42
Hallo leute,

hoffentlich bin ich hier richtig mit meinem Thread.
Ich bin dabei mir einen Player zu schreiben, der nicht nur über ein Formular verfügt. Beim starten ist nur der player sichtbar alle anderen sind zwar gestartet aber nicht sichtbar. Ist meine Playlist geladen kann ich auch drauf zugreifen das, es funzt also alles eigentlich so wie es soll bis auf das beim beenden des Players noch einstellungen gespeichert werden sollen also habe ich noch die Funktion FormDestroy eingefügt so das die Einstellungen gespeichert werde auch wenn das Programm z.B. durchs runterfahren beendet wird. Genau da fängt mein Problem an, wenn ich das Programm dann beenden will kommt es zu einer Zugriffsverletzung aber auch nur wenn ich auf eine der anderen Fenster zugreife. Lasse ich die Funktion FormDestroy weg kann ich den player beenden ohne das ein Fehler auftaucht. Wo habe ich etwas vergessen? Muss ich in den anderen Formularen auch eine FormDestroy einfügen?

Kann mir da jemand helfen?

MFG
Norman
Fantasie kennt keine Grenzen
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#2

Re: Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 13:46
Erstmal Herzlich Willkommen im DP.

Dann poste mal bitte deinen Code vom OnDestroy Ereignis.
  Mit Zitat antworten Zitat
NormanSteinmetz

Registriert seit: 21. Aug 2003
Ort: Oberhausen
9 Beiträge
 
#3

Re: Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 14:17
hallo,

das ist der code ist nichts besonderes wie man sehen kann, ehrlich gesagt habe ich hiermit noch nicht so viel erfahrung gemacht bin ins netz und habe nach etwas gesucht was das Prog abfängt wenn es beendet wird. Der Satz soll mir nur zeigen das die Prozedur aufgerufen wird.
Der Code zum schreiben der config.ini muss ja auch noch rein aber erstmal muss geregelt sein das ich das Programm ja beenden kann ohne Fehler.

Delphi-Quellcode:
// Freilassen der rescourcen wenn das programm beendet wird
procedure Tform_player.FormDestroy(sender: TObject);
begin
application.MessageBox('Das Programm wird beendet', 'Beenden', MB_OK + MB_ICONQUESTION);
BASS_FX_FREE;
BASS_FREE;
end;
MFG
Norman

[edit=Daniel B]Delphi-Tags eingefügt. Mfg, Daniel B[/edit]
Fantasie kennt keine Grenzen
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#4

Re: Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 14:21
Wenn du die Zeilen
Delphi-Quellcode:
BASS_FX_FREE;
BASS_FREE;
auskommentierst, läuft es bestimmt ohne Probleme, oder?

Also muß es an einer der beiden Prozeduren liegen (also, her mit dem Code )!
  Mit Zitat antworten Zitat
NormanSteinmetz

Registriert seit: 21. Aug 2003
Ort: Oberhausen
9 Beiträge
 
#5

Re: Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 15:00
hallo,

ich habe BASS_Free und BASS_FX_Free raus genommen aber der Fehler bleibt leider, trotzdem habe ich den code der BASS beigefügt allerdings nur als anhang da sie doch recht gross sind. Die sind die Grundlagen der BASS.DLL für die audiowiedergabe, ich schätze das Dir das bekannt vorkommt.

Wie gesagt es trit nur auf wenn ich ein andere Formular benutze sonst beendet er ihn normal. die anderen Formen haben keine Destroy Prozedur.

MFG
Norman
Angehängte Dateien
Dateityp: pas bass.pas (69,9 KB, 12x aufgerufen)
Fantasie kennt keine Grenzen
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#6

Re: Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 15:07
Der Fehler liegt also definitiv nicht im OnDestroy Ereignis.
Wie wird denn codemäßig ein Formular bei dir aufgerufen? Werden sie automatisch erzeugt oder versuchst du sie dynamisch zu erzeugen?
  Mit Zitat antworten Zitat
NormanSteinmetz

Registriert seit: 21. Aug 2003
Ort: Oberhausen
9 Beiträge
 
#7

Re: Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 15:20
Hallo,

bei mir werden alle automaitsch erzeugt, das gibt zumindest die Project Datei an. Wie man ein Formular dynamisch erzeugt. so viel erfahrung habe ich noch nicht mit Delphi wenn ich ehrlich bin.

Ich vermute mal es liegt daran das die anderen Formulare im Hintergrund noch aktiv sind kann das sein?

MFG
Norman
Fantasie kennt keine Grenzen
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 16:57
Zitat von NormanSteinmetz:
Ich vermute mal es liegt daran das die anderen Formulare im Hintergrund noch aktiv sind kann das sein?
Ich vermute mal das sie es ebend nicht mehr sind.

Du hast ein einmal geschrieben, das es ohne Free geht und kurze Zeit später schreibst du, das es ohne Free auch nicht mehr geht. Wie nun?
  Mit Zitat antworten Zitat
NormanSteinmetz

Registriert seit: 21. Aug 2003
Ort: Oberhausen
9 Beiträge
 
#9

Re: Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 17:24
hallo,

nein ich meine das wenn ich Free weg lasse bleibt der OnDestroy Fehler. Es liegt nicht daran. Der Fehler taucht nur auf wenn ich auf eines der anderen Formulare zugreife.

Wenn ich also versuche von dem Hauptformular aus einen Wert aus einer ListBox im zweiten Formular zu bekommen klappt es und solange das Programm am laufen ist geht auch alles wunderbar. erst wenn ich es beende und die Destroy Prozedur anfängt kommt die Zugriffsverletzung.

Beende ich das programm allerdings ohne das ich auf ein anderes Formular zugegriffen habe bekomme ich keine Fehlermeldung und er beendet das Programm vorschriftsgemäss.

Es ist auch egal ob ich Free in der Prozedur habe oder nicht also daran liegt es in keinem fall.

OnDestroy liegt nur auf dem Hauptformular.
Der Fehler beginnt sobald die Prozedur aufgerufen wird.

Ich hoffe ich habe jetzt nichts vergessen...

MFG
Norman
Fantasie kennt keine Grenzen
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Fehler beim beenden durch FormDestroy

  Alt 29. Aug 2003, 17:42
Nimm aus deiner bass.pas das onClose-Event raus.
  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 22:18 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