AGB  ·  Datenschutz  ·  Impressum  







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

Form schliesst nicht :(

Ein Thema von bundy · begonnen am 24. Jan 2004 · letzter Beitrag vom 24. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#1

Form schliesst nicht :(

  Alt 24. Jan 2004, 21:59
Hallo Leute ,
ich habe folgendes Problem:

Ich arbeite mit Mysql, auf einem Form habe ich einen Mysql Query, ich aktiviere den Query und nachher schliesst sich das Form wieder,aber wenn die Abfrage etwas länger dauert dann schliesst sich das Form nicht mehr.
Mann kann das Form auch nicht mit X schliessen, wobei aber die Editfelder die auf dem Form liegen noch immer funktionieren, auch die Button funktionieren, nur schliessen kann mann es nicht.
Hat da wer eine Ahnung was da los ist
+++Glaube keiner Statistik, die du nicht selbst getürkthast.++++
********************
Ein anonymer Statistiker. *
********************
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Form schliesst nicht :(

  Alt 24. Jan 2004, 22:18
Das hatte ich mal bei einem MDIChild mit einer Query in einem Thread, hatte sich als ein Deadlock vom Querythread und einem anderen herausgestellt.
Die Anwendung lief scheinbar normal weiter, alle anderen Childforms haben weiter funktioniert wie sie es sollten.

Ich habe es gelöst indem ich verhinderte, dass beide Threads auf gleiche Variablen zugreifen, so konnten sie sich nicht gegenseitig in einen Deadlock versetzen.
  Mit Zitat antworten Zitat
Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#3

Re: Form schliesst nicht :(

  Alt 24. Jan 2004, 22:21
Was heisst das ? was soll ich jezt ändern
+++Glaube keiner Statistik, die du nicht selbst getürkthast.++++
********************
Ein anonymer Statistiker. *
********************
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Form schliesst nicht :(

  Alt 24. Jan 2004, 22:25
Du sollst wohl erst deinen Query schließen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#5

Re: Form schliesst nicht :(

  Alt 24. Jan 2004, 22:31
Der Query liegt aber in einen Datamodule.
Es handelt sich hierbei um ein Suchform das nach eingabe der Suchkriterien wieder schliessen soll.

Delphi-Quellcode:
procedure Tsuche_Nachname_form.SpeedButton1Click(Sender: TObject);
begin
if CheckBox1.Checked=true then
  begin
  DataModule_Kunden.mySQLQuery1.SQL.Clear;
  DataModule_Kunden.mySQLQuery1.SQL.Text:='select * from kunden where Installationsfirma like"'+ Edit2.Text+'%" and Nachname like "%'+ Edit1.Text+'%"';
  DataModule_Kunden.mySQLQuery1.Active := true;
  close;
  hauptform.dxTabSheet8.Show;
  end;
if CheckBox1.Checked=false then
  begin
  DataModule_Kunden.mySQLQuery1.SQL.Clear;
  DataModule_Kunden.mySQLQuery1.SQL.Text:='select * from kunden where Installationsfirma like"'+ Edit2.Text+'%" and Nachname like "'+ Edit1.Text+'%"';
  DataModule_Kunden.mySQLQuery1.Active := true;
  close;
  hauptform.dxTabSheet8.Show;
  end;
end;
+++Glaube keiner Statistik, die du nicht selbst getürkthast.++++
********************
Ein anonymer Statistiker. *
********************
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Form schliesst nicht :(

  Alt 24. Jan 2004, 22:34
Eventuell liegt es daran, dass du noch eine Anweisung nach Close ausführst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#7

Re: Form schliesst nicht :(

  Alt 24. Jan 2004, 22:46
Diese lästige Erscheinung habe ich aber im Login form auch und da hab ich nichts nach Close
Delphi-Quellcode:
procedure TLogin_Form.SpeedButton1Click(Sender: TObject);
begin
mySQLDatabase1.Host:=Edit3.Text;
mySQLDatabase1.UserName:=Edit1.Text;
mySQLDatabase1.UserPassword:=Edit2.Text;
mySQLDatabase1.DatabaseName:='bkf';
mySQLDatabase1.Connected:=true;
if mySQLDatabase1.Connected = True then
        Begin
        Hauptform.Label106.Caption:=DBText4.Caption;
        Hauptform.Label107.Caption:=DBText5.Caption;
        Hauptform.Label106.Visible:=true;
        Hauptform.Label107.Visible:=true;
        Hauptform.Label105.Visible:=true;

        Hauptform.StatusBar1.Panels.Items[0].Text:='Benutzer: '+ DBText4.Caption+' '+DBText5.Caption;

        Hauptform.StatusBar1.Panels.Items[1].Text:='Angemeldet um: '+TimeToStr(Time);

        Hauptform.StatusBar1.Panels.Items[2].Text:='Status: '+DBText2.Caption;

        Hauptform.StatusBar1.Panels.Items[3].Text:='Vers.: 2.0';

        // Version überprüfen
        mySQLQuery_vers.SQL.Clear;
        mySQLQuery_vers.SQL.Text:='select * from Vers';
        mySQLQuery_vers.Active:=true;
        if mySQLQuery_versVersionsnummer.Text <>'2.0then //Versionsnummer
         begin
         ShowMessage('Version überprüfen...Update anfordern'+#13+#13+'neue Version: '+mySQLQuery_versVersionsnummer.Text);
         Hauptform.Close;
         end;

        end;

close;
end;
+++Glaube keiner Statistik, die du nicht selbst getürkthast.++++
********************
Ein anonymer Statistiker. *
********************
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Form schliesst nicht :(

  Alt 24. Jan 2004, 23:02
Ich habe gerade mal was ausprobiert.
Ich dachte nach einem Form.Close wird kein Code mehr ausgeführt, aber ...
(Form2 ist ein MDIChild)
Delphi-Quellcode:
Procedure TForm2.Button1Click(Sender: TObject);
Begin
  Edit1.Text := 'Klick';
  Close;
  Edit2.Text := 'Hallo';
  ShowMessage(Edit2.Text);
End;

Procedure TForm2.FormClose(Sender: TObject; Var Action: TCloseAction);
Begin
  Action := caFree;
End;
... ich bekomme die Meldung "Hallo"!
(Ich konnte deinen Bug aber nicht reproduzieren)


Luckie, jetzt ist deine Delphi-Erfahrung gefragt: Wird beim Aufruf von Close so etwas wie ein Thread gestartet, der nach Ausführung des Codes das Form schließt


p.s.: @Bundy, im Loginform hast du auch Code nach dem Close:
Delphi-Quellcode:
        if mySQLQuery_versVersionsnummer.Text <>'2.0then //Versionsnummer
         begin
         ShowMessage('Version überprüfen...Update anfordern'+#13+#13+'neue Version: '+mySQLQuery_versVersionsnummer.Text);
         // Wenn das Hauptform geschlossen wird, werden alle Formulare geschlossen...
         Hauptform.Close;
         end;

        end;
  // ... hier versuchst du nochmal zu schließen
  close;
end;
  Mit Zitat antworten Zitat
Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#9

Re: Form schliesst nicht :(

  Alt 24. Jan 2004, 23:09
Wieso das Hauptform.close trifft ja erst dann ein wenn Version ist nicht 2.0
+++Glaube keiner Statistik, die du nicht selbst getürkthast.++++
********************
Ein anonymer Statistiker. *
********************
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#10

Re: Form schliesst nicht :(

  Alt 24. Jan 2004, 23:18
Wenn die Version 2.0 ist hast du ja recht...

Hast du im OnClose auch Code stehen ?
  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 09:57 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