![]() |
Re: Functions mit Delphi
Jap... Und darum, dass der SQL-Text vor dem einfügen noch einmal geleert wird. Wenn die prozedure 2mal aufgerufen wird, kann es passieren, dass die Select-Anweisung 2mal drinsteht und dann meckert er auch rum. (Hatte ich bei mir zumindest schon) Setz am besten einmal einen Haltepunkt und geh mit F7 mal jede Zeile einzeln durch. Und dann sag wo er die Fehlermeldung bringt. Vielleicht hast du auch das andere Formular geschlossen (und dann freigegeben), somit kann er natürlich das Label nicht mehr finden...
|
Re: Functions mit Delphi
die fehlermeldung kommt bei dem satzt
Delphi-Quellcode:
ich hab das statt
if dlgResult = mrok then
Delphi-Quellcode:
genommen weil das für die Datenrückgabe leichter ist
frmtestauswahl.ShowModul
aber mit dem fehler was kommt kann ich nichts anfangen |
Re: Functions mit Delphi
Delphi-Quellcode:
Von wo aus rufst du dieses Formular auf? Am besten du schreibst mal hier den ganzen Quellcode rein, denn ohne zusammenhang erkennt man das ziemlich schlecht...
case frmtestauswahl.ShowModal of
mrok: begin //Anweisung, wenn Ok end; mrcancel: begin //Anweisung, wenn Abbruch end; end; ;-) |
Re: Functions mit Delphi
das ist der quellcode von den beiden comboboxen
Delphi-Quellcode:
das ist der quellcode für die showModal anweisung
procedure Tfrmmesswertauswahl.FormShow(Sender: TObject);
begin frmmesswertauswahl.cbotestreihe.Items.Clear; with DataModule1 do begin Query.SQL.Text:= selectsql('Testreihe','Testreihe','Testnummer=' +frmmesswertauswahl.lblnummer.Caption,''); Query.Open; while not Query.Eof do begin frmmesswertauswahl.cbotestreihe.Items.Add(Query.Fields[0].AsString); Query.Next; end; Query.Close; end; frmmesswertauswahl.cbotestabschnitt.Items.Clear; with DataModule1 do begin Query.SQL.Text:= selectsql('Testabschnitt','Testreihe','Testnummer=' +frmmesswertauswahl.lblnummer.Caption,''); Query.Open; while not Query.Eof do begin frmmesswertauswahl.cbotestabschnitt.Items.Add(Query.Fields[0].AsString); Query.Next; end; Query.Close; end; end;
Delphi-Quellcode:
var
dlgResult: integer; begin dlgResult:=frmtestauswahl.ShowModal; if dlgResult = mrok then frmmesswertauswahl.Showmodal; frmtestauswahl.close; begin dlgResult :=frmmesswertauswahl.ShowModal; if dlgResult = mrok then begin frmmesswertauswahl.Close; frmtestauswahl.Close; CreateMDIChild('Unbenannt' + IntToStr(MDIChildCount + 1)); end; end; end; |
Re: Functions mit Delphi
Delphi-Quellcode:
Das in geschweiften Klammern brauchst du nicht, da sich alle Controls ja auf dem selben Formular befinden.(Sonst würde es ja auch nicht in dessen OnShow-Ereignis stehen)
procedure Tfrmmesswertauswahl.FormShow(Sender: TObject);
begin {frmmesswertauswahl.}cbotestreihe.Items.Clear; with DataModule1 do begin Query.SQL.Text:= selectsql('Testreihe','Testreihe','Testnummer=' +{frmmesswertauswahl.}lblnummer.Caption,''); Query.Open; while not Query.Eof do begin {frmmesswertauswahl.}cbotestreihe.Items.Add(Query.Fields[0].AsString); Query.Next; end; Query.Close; //frmmesswertauswahl.cbotestabschnitt.Items.Clear; //warum nocheinmal leeren -> dann wäre das drüber umsonst Query.SQL.Clear; Query.SQL.Text:= selectsql('Testabschnitt','Testreihe','Testnummer=' +{frmmesswertauswahl.}lblnummer.Caption,''); Query.Open; while not Query.Eof do begin {frmmesswertauswahl.}cbotestabschnitt.Items.Add(Query.Fields[0].AsString); Query.Next; end; Query.Close; end; end; ^müsste so funktionieren Zu deinen "Showmodalaufrufen": Von wo aus wird das aufgerufen? Was willst du damit bezwecken? |
Re: Functions mit Delphi
nein leider der quelltext geht auch ned :(
mit dem ShowModul will ich erreichen dass ich alles vom main aufrufe. dh.. das frmtestauswahl.ShowModal; muss nicht mehr in der procedure stehn sodern im main |
Re: Functions mit Delphi
Das beste wird sein, du fragst mich das per ICQ :-D
(Oder schick mir deinen Quellcode einfach per mail...sonst drehen wir uns hier noch lange im Kreis ;-) ) Also das mit den Comboboxen füllen müsste schon so funktionieren... Aber deine Showmodal-Aufrufe sehen mir ziemlich wirr aus(Sorry) Was für eine Fehlermeldung bringt er denn genau? |
Re: Functions mit Delphi
ha das mit den comboboxen geht jetzt!!!!! :)
er bringt ned direkt eine fehlermeldung sondern er zeigt das formular doppelt an ich muss 2mal auf abbrechn klicken damit er es zu macht sry hab in der firma kein icq :( |
Re: Functions mit Delphi
ähmm was anderes :) kann ich in DBEdit felder was hineinschreiben von einer combobox.
wenn ja wie, weil bei einem DBEdit feld gibt es ja keine Caption und auch keinen Text??? und noch was wenn ich jetzt von anfang an was in meiner combobox stehen haben möchte, wie geht das ?? irgendetwas mit ItemIndex=1; oda so |
Re: Functions mit Delphi
Naja...ICQ per Web gibts ja auch noch... ;-)
Zu deinen Showmodalen...
Delphi-Quellcode:
Wenn ich deinen voherigen Quellcode richtig durchgeblickt hab... :-)
procedure Button1click(Sender:TObject);//Beispiel!!!
begin case frmtestauswahl.ShowModal of mrok: begin case frmmesswertauswahl.ShowModal of mrok: begin frmmesswertauswahl.Close; frmtestauswahl.Close; CreateMDIChild('Unbenannt' + IntToStr(MDIChildCount + 1)); end; mrcancel: begin end; end; mrcancel: begin frmtestauswahl.close; end; end; end; Zu DBEdit:
Delphi-Quellcode:
Zu Combobox:
DBEdit.Field.AsString := 'irgendwas';
oder DBEdit.Field.AsInteger := 5;
Delphi-Quellcode:
if (Combobox.Items.Count > 0) then
begin Combobox.ItemIndex := 1; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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