AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Mehrere Formen in ein Formular einbinden funktioniert nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Formen in ein Formular einbinden funktioniert nicht?

Ein Thema von DelphiCreak · begonnen am 11. Jun 2010 · letzter Beitrag vom 11. Jun 2010
Antwort Antwort
DelphiCreak

Registriert seit: 3. Sep 2008
51 Beiträge
 
Delphi 2007 Enterprise
 
#1

Mehrere Formen in ein Formular einbinden funktioniert nicht?

  Alt 11. Jun 2010, 15:48
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:
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
Die Deklaration in der zugehörigen .pas Datei:

Delphi-Quellcode:
type
  TPickColorForm = class(TForm)
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
   private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
und dann noch das erzeugen des Formulares in der .dpr Datei:

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
Dominik C.
Orientierungslos sieht man mehr vom Leben.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

AW: Mehrere Formen in ein Formular einbinden funktioniert nicht?

  Alt 11. Jun 2010, 15:58
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
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
DelphiCreak

Registriert seit: 3. Sep 2008
51 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Mehrere Formen in ein Formular einbinden funktioniert nicht?

  Alt 11. Jun 2010, 16:03
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 )
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
Dominik C.
Orientierungslos sieht man mehr vom Leben.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: Mehrere Formen in ein Formular einbinden funktioniert nicht?

  Alt 11. Jun 2010, 16:06
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
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
DelphiCreak

Registriert seit: 3. Sep 2008
51 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: Mehrere Formen in ein Formular einbinden funktioniert nicht?

  Alt 11. Jun 2010, 16:10
*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
Dominik C.
Orientierungslos sieht man mehr vom Leben.
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:47 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