AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

2 Formulare verbinden geht nicht :(

Ein Thema von blubber443 · begonnen am 20. Mär 2013 · letzter Beitrag vom 21. Mär 2013
 
Perlsau
(Gast)

n/a Beiträge
 
#9

AW: 2 Formulare verbinden geht nicht :(

  Alt 21. Mär 2013, 09:11
Lustigerweise meldet zumindest mein XE2-Ent bei solchen Geschichten ein "Voller Arbeitsspeicher" bei [STRG]+[F9] und "zirkuläre Referenz" bei [F9] - Oder umgekehrt
Diese Meldung erscheint nur, wenn du die Units in Interface-Uses einträgst. Du sollst sie aber unter Implementation eintragen:

Delphi-Quellcode:
{ ****************************************************************************************************************
  *** ZUGRIFF AUF UNITMAIN für EINSTELLUNGEN ETC.                                                              ***
  **************************************************************************************************************** }

unit Main_Zugriff;

INTERFACE

USES
  Vcl.Forms, System.Classes, System.SysUtils, JvRichEdit, JvDBRichEdit, Vcl.DbGrids;

TYPE
  TMain_Zugriff = CLASS

  PRIVATE

  PUBLIC
    Spalten_Filmtitel : Integer;

    CONSTRUCTOR Create();
    DESTRUCTOR Destroy; override;

    PROCEDURE Set_FormMain(Const Links, Oben, Breit, Hoch : Integer; Const Maximiert : Boolean);
    PROCEDURE Get_FormMain(Var Links, Oben, Breit, Hoch : Integer; Var Maximiert : Boolean);
    PROCEDURE StatusBarAktuell;
    PROCEDURE LaenderEinlesen;
    PROCEDURE LaenderAnzeigen;
    PROCEDURE Set_Spalte_FilmTitel(Const Spalte,Breite : Integer);
    FUNCTION Get_Spalte_FilmTitel(Const Spalte : Integer) : Integer;

  END;

IMPLEMENTATION

USES
    UnitMain, UnitData; // Hier eintragen

{+-+- PUBLIC METHODEN -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-}

{ ****************************************************************************************************************
  *** CREATE                                                                                                  ***
  **************************************************************************************************************** }

constructor TMain_Zugriff.Create;
begin
     Spalten_Filmtitel := FormMain.DBGrid_Filmtitel.Columns.Count;
end;

{ ****************************************************************************************************************
  *** DESTROY                                                                                                  ***
  **************************************************************************************************************** }

destructor TMain_Zugriff.Destroy;
begin

  inherited;
end;

...
Ich habe hier eine Klasse entwickelt, die Zugriff auf Komponenten der Klasse TFormMain (Hauptformular) ermöglicht, und zwar von jeder anderen Unit oder Form aus, die diese Klasse referenziert. Da gab's noch nie irgend einen Fehler, den ich nicht selbst verbockt hatte. Du kannst auch zwei Forms direkt verbinden, indem du den Unit-Namen der einen Form unter Implementation (nicht unter Interface!) in die Uses-Klausel einträgst. Ich hab z.B. manchmal im Hauptformular das Datenmodul referenziert und im Datenmodul das Hauptformular, immer jedoch unterhalb von Implementation. Das ist ganz wichtig!
  Mit Zitat antworten Zitat
 


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 05:21 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