![]() |
Mehrere Formen in ein Formular einbinden funktioniert nicht?
Guten Nachmittag liebe DP,
ich arbeite mit ein paar Kollegen im Moment an einem Editor, der unter anderem mehrere Dialoge benutzt. Diese sind der Einfachheit halber alle in einer Unit zusammengefasst. Nun Versuche ich allerdings, eine weitere Form einzubinden, was jedoch irgendwie nicht funktioniert, warum weiß ich nicht. Und genau da liegt mein Problem ^^. Das Aufrufen dieses Formulars führt zu einer Zugriffsverletzung (Acces Violation). Ich fass hier mal alles zusammen, wie ich das ganze eingebunden habe, und hoffe mal dass jemand von euch den Fehler findet, ich hab ihn in zwei Tagen nicht gefunden. Der Quelltext des Formulars, die zugehörige Datei heißt PickColorForm.dfm (eigentlich ist ja nur der Header wichtig):
Delphi-Quellcode:
Die Deklaration in der zugehörigen .pas Datei:
object PickColorForm: TPickColorForm
Left = 410 Top = 458 HorzScrollBar.Visible = False AutoScroll = False BorderStyle = bsNone Caption = 'InputForm' ClientHeight = 88 ClientWidth = 294 Color = clGreen Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False Position = poMainFormCenter OnMouseDown = FormMouseDown DesignSize = ( 294 88) PixelsPerInch = 96 TextHeight = 13 end
Delphi-Quellcode:
und dann noch das erzeugen des Formulares in der .dpr Datei:
type
TPickColorForm = class(TForm) procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private-Deklarationen } public { Public-Deklarationen } end;
Delphi-Quellcode:
Application.CreateForm(TPickColorForm, PickColorForm);
Eigentlich müsste es so funktionieren, hat es bei den bisherigen Formen ja auch. Ich hoffe jemand von euch findet den Fehler, danke im Vorraus, mfg DelphiCreak |
AW: Mehrere Formen in ein Formular einbinden funktioniert nicht?
Ich finde auch keinen Fehler. Es scheint alles richtig zu sein. Ich versuche es mal mit dem Standardhinweis bei schier unlösbaren Problemen: Lösche doch mal alle Dateien, die auf .dcu und .dpp enden. Danach sage Delphi, es soll die Anwendung komplett neu erzeugen. Hin und wieder kommt es vor, dass der Linker Schrott zusammenbaut.
Bernhard |
AW: Mehrere Formen in ein Formular einbinden funktioniert nicht?
Danke für die schnelle Antwort, hat aber auch nichts gebracht.
Und ich habe gerade auch gemerkt dass ich einen Fehler gemacht habe: Die Zugriffsverletzung kommt erst, wenn die Form nicht in der .dpr erzeugt wird und trotzdem aufgerufen wird (ist ja soweit auch logisch :D) Erzeugt man das Formular in der .dpr meldet sich das Programm mit der Fehlermeldung "Exception der Klasse EResNotFound mit der Meldung 'Ressource TPickColoForm nicht gefunden'" etc. Also müsste der Fehler ja irgendwo im Dateinamen der .dfm oder halt in irgendeiner Deklaration stecken. Ich weiß nur nicht welche. mfg DelphiCreak |
AW: Mehrere Formen in ein Formular einbinden funktioniert nicht?
Dann schreib mal in die Unit rein {$R PickColorForm.dfm}.
Dadurch sagst du dem Compiler, dass er doch auch die Definitionen für diese Form mitladen soll. Bernhard |
AW: Mehrere Formen in ein Formular einbinden funktioniert nicht?
*an den kopf fass*
Natürlich. Hätte ich auch selbst drauf kommen können, das zeigt mal wieder das beim Programmieren das Problem meist vorm Computer sitzt ^^ vielen Dank, ist echt ne super einrichtung die DP ;) Mfg, DelphiCreak |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:48 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