![]() |
Form Show führt zu Access Violation
Hallo liebe Delphi-Gemeinde,
ich habe durch euer Forum schon öfters beim googlen sehr gute Hilfe gefunden. Heute ist es so weit, dass ich durch googlen einfach nicht mehr weiter komme, weshalb ich mich heute direkt an euch wende. :( :-D Und zwar bin ich zur Zeit ein Programm am programmieren, welches Dateien, die ich eingebe, speichert und ggf. in ein Online-Formular lädt. Nun habe ich ein recht doofes Problem: Versuche ich nun durch eine ButtonClick-Prozedur ein Formular anzuzeigen (FTeilnehmerListe.Show;) führt das zu einer Access Violation. Im Uses-Teil habe ich das aufzurufende Formular eingebunden sowie unter 'var' die ensprechende Variable vergeben (FTeilnehmerListe: TFTeilnehmerListe;). Leider bin ich hier mit meinem Latein am Ende, da ich echt nicht weiß wodurch das Ganze hervorgerufen werden könnte. Im Voraus schon einmal vielen Dank für eure Hilfe! LG Paddy |
AW: Form Show führt zu Access Violation
Hallo und Willkommen in der DP :dp:,
greifst Du auf die globale Formvariable aus der Formularunit zu, oder ist das eine eigene Variable? Im letzten Fall musst Du das Formular erst einmal erzeugen, bevor Du es anzeigen kannst. |
AW: Form Show führt zu Access Violation
Existiert auch eine Instanz des Formulars?
Referenziert die Variable diese Instanz? |
AW: Form Show führt zu Access Violation
Danke für das nette Willkommenheißen :-D & Danke für die schnellen Antworten!
@DeddyH: Mir ist leider nicht ganz klar was du meinst :? - Ich habe für das Formular 'FTeilnehmerliste', welches ich aufrufen will, die Variable 'FTeilnehmerListe: TFTeilnehmerListe;' unter var in meinem aktuellen Formular erstellt. @mkinzler: Inwiefern Instanz des Formulars? Durch die Projektdatei müsste das Formular ja erstellt werden (Application.CreateForm(TFTeilnehmerListe, FTeilnehmerListe);), also dem nach eine Instanz vorhanden sein(?). |
AW: Form Show führt zu Access Violation
D.h. aber doch, dass Du 2 verschiedene Variablen hast. Und nur die automatisch von Delphi erstellte zeigt auf die Instanz des Formulars, Deine eigene zeigt ins Leere. 2 Möglichkeiten: Du greifst auf die globale Variable aus der entsprechenden Formularunit zu, oder Du erstellst eine eigene Instanz der Formularklasse.
Delphi-Quellcode:
procedure TForm1.ZeigeForm2;
var Frm: TForm2; begin Frm := TForm2.Create(nil); try Frm.ShowModal; finally Frm.Free; end; end; |
AW: Form Show führt zu Access Violation
Zitat:
Entweder du must die Variable auf eine gültige Instanz referenzieren oder lässt die lokale Variable weg. |
AW: Form Show führt zu Access Violation
[OT] Schon wieder schneller :tongue: :lol: [/OT]
|
AW: Form Show führt zu Access Violation
Hallo!
Vielen Dank für eure Hilfe! Habe es nun geschafft - Aber dennoch habe ich noch eine Frage: Wie meint ihr das mit dem globale Variable verwenden? Wie kann ich diese verwenden bzw. welche ist das? |
AW: Form Show führt zu Access Violation
Wir meinen diese hier (Beispielunit):
Delphi-Quellcode:
unit MeineDaten;
interface uses ...; type TDeinForm = class(TForm) ... end; var DeinForm: TDeinForm; //<-- diese hier implementation |
AW: Form Show führt zu Access Violation
Arrrrrrr ich könnte mich gerade schwar ärgern! :evil:
Habe jetzt das Problem verstanden - stand die ganze Zeit irgendwie auf dem Schlauch! Durch die Redefinierung der Variable hat er diese angenommen, aber - wie ihr sagtet - nirgendwo hin gezeigt! Vielen Dank für eure Mühe!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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 by Thomas Breitkreuz