![]() |
Variable in aufgerufene Form zurückgeben
Hallo,
so ein bisschen bin ich am verzweifeln. ich habe eine form (PatientenblattFrm) aus dieser rufe ich eine andere Form (frmDatum) auf.
Delphi-Quellcode:
In der zweiten Form ist eine TDateNavigator um ein Datum auszuwählen. Diese gebe ich dann zurück mit
frmDatum := TfrmDatum.Create(nil);
frmDatum.ShowModal;
Delphi-Quellcode:
----> Hier kommt eine Zugriffsverletzung weil das Form PatientenblattFrm nil ist. Warum ist die Nil?
PatientenblattFrm.NewDate := cxDateNavigator1.Date;
Die Variable NewDate habe ich in der PatientenblattFrm unter Public declariert. Die Forms sind unter implementation in der uses Klausel eingebunden. Was mache ich falsch? |
AW: Variable in aufgerufene Form zurückgeben
Hallo,
wie genau lautet die Zugriffsverletzung? Ich sehe nicht warum die Form PatientenblattFrm nil sein soll. Wenn du deine Form frmDatum nicht zerstörst könntest du auch direkt in der Form PatientenblattFrm das frmDatum.cxDateNavigator1.Date anwenden, also ohne diese globale Variable. Ist PatientenblattFrm deine Hauptform? Edit Ich würde die Form frmDatum mal probieren so aufrufen: Zitat:
|
AW: Variable in aufgerufene Form zurückgeben
PatientenblattFrm ist nicht das Hauptformular. Das PatientenblattFrm wird vom PatientFrm (ist auch nicht das Hauptformular) so aufgerufen:
Delphi-Quellcode:
Das TPatientenblattFrm.ist hier bereits nil. Keine Ahnung warum.
TPatientenblattFrm.Create(Application.MainForm, Patient1Qry.FieldByName('PatientNr').AsInteger, 0);
Im frmDatum muss ich aber ein Datum auswählen und zurückgeben. |
AW: Variable in aufgerufene Form zurückgeben
Hallo Jürgen habe ich schon gemacht, leider ohne Erfolg. Ich weiß nicht warum mein TPatientenblattFrm nil ist.
|
AW: Variable in aufgerufene Form zurückgeben
Zitat:
müsste es nicht NewDate := cxDateNavigator1.Date; lauten? Gruß |
AW: Variable in aufgerufene Form zurückgeben
Danke an alle, habe es jetzt so gelöst.
Delphi-Quellcode:
frmDatum := TfrmDatum.Create(nil);
frmDatum.ShowModal; NewDate := frmDatum.cxDateNavigator1.Date; |
AW: Variable in aufgerufene Form zurückgeben
Moin...:P
Zitat:
Delphi-Quellcode:
...das ist genau das was ich meinte. :thumb: frmDatum ist es wurscht wohin das Ergebnis geht.
frmDatum := TfrmDatum.Create(nil);
frmDatum.ShowModal; NewDate := frmDatum.cxDateNavigator1.Date; Nachtrag (besser):
Delphi-Quellcode:
frmDatum := TfrmDatum.Create(nil);
try frmDatum.ShowModal; NewDate := frmDatum.cxDateNavigator1.Date; finally frmDatum.Free; end; |
AW: Variable in aufgerufene Form zurückgeben
|
AW: Variable in aufgerufene Form zurückgeben
TPatientenblattFrm klingt nach dem Typ und nicht nach einer Variablen, die Nil sein könnte.
Wahrscheinlich hast du die globale Variable, Delphi anlegt, im Code gelassen, nutzt sie aber nicht, um die Form zu erzeugen. |
AW: Variable in aufgerufene Form zurückgeben
Zitat:
Auch sehe ich nicht, dass Du in PatientenblattFrm eine andere Forma aufrufst. Ich vermute eher, dass du eine TPatientenblattFrm hast |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 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