Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 2 Units und 2 Formulare... (https://www.delphipraxis.net/76322-2-units-und-2-formulare.html)

schwan88 2. Sep 2006 10:47


2 Units und 2 Formulare...
 
Also....folgendes Problem:

Ich habe Unit1 und Formular1. Nur steht da inzwischen soviel Quelltext drin, dass ich da demnächst nicht mehr durchsehen werde. Noch dazu blende ich im Programm immer wieder labels und Groupboxen aus, so dass ich da auch nicht mehr durchsehen werde. Deshalb möchte ich also auch ein zweites Formular nutzen. Nun habe ich folgende Probleme:

1. Wie kann ich in der Unit2 geschriebene Prozeduren in Unit1 aufrufen.
2. Wie kann ich dem Programm quasi sagen "Wenn jemand auf den Button klickt dann zeige Formular zwei an bzw. umgekehrt....

das dürften so die Hauptprobleme gewesen sein...da ich nicht allzu viel Ahnung habe bitte einfache Antworten mit kleiner Erklärung zu eventuellen Quelltexten, da ich von diesem nicht zwangsweise auch auf die Funktion schließen kann...

Balu der Bär 2. Sep 2006 10:53

Re: 2 Units und 2 Formulare...
 
Zitat:

1. Wie kann ich in der Unit2 geschriebene Prozeduren in Unit1 aufrufen.
Deklariere die Prozedur in Unit2 im Public-Teil und rufe sie dann aus Unit1 einfach auf.

Zitat:

2. Wie kann ich dem Programm quasi sagen "Wenn jemand auf den Button klickt dann zeige Formular zwei an bzw. umgekehrt....
Versteh ich nicht so recht. Mit TForm.Hide blendest du ein Formular aus und mit TForm.Show zeigst du es wieder an...

:gruebel:

schwan88 2. Sep 2006 11:01

Re: 2 Units und 2 Formulare...
 
wie muss ich die unit deklarieren? ...das mit den Formularen probier ich gleich mal aus...

/edit: Also das mit dem Formularen geht....aber wie gesagt, wie das mit der Unit genau funzt weiß ich noch nicht...

schwan88 7. Sep 2006 18:57

Re: 2 Units und 2 Formulare...
 
?....wär schön wenn noch jemand auf meine Frage antworten könnte...

fwsp 7. Sep 2006 18:59

Re: 2 Units und 2 Formulare...
 
schreib oben bei uses den namen der unit rein.

Balu der Bär 7. Sep 2006 19:03

Re: 2 Units und 2 Formulare...
 
Zitat:

?....wär schön wenn noch jemand auf meine Frage antworten könnte...
Was für ein Fehler bzw. Problem liegt denn genau vor?

schwan88 7. Sep 2006 19:18

Re: 2 Units und 2 Formulare...
 
Ich habe Unit1 und Unit2. nun möchte ich unit1 Prozeduren aus unit2 verwenden. Die Unit unter uses zu deklarieren reicht dabei aber offensichtlich nicht. Nun weiß ich aber nicht ob und wenn ja wie man das noch woanders deklarieren muss.... :?:

EDatabaseError 7. Sep 2006 19:24

Re: 2 Units und 2 Formulare...
 
Zitat:

Zitat von schwan88
Ich habe Unit1 und Unit2. nun möchte ich unit1 Prozeduren aus unit2 verwenden. Die Unit unter uses zu deklarieren reicht dabei aber offensichtlich nicht. Nun weiß ich aber nicht ob und wenn ja wie man das noch woanders deklarieren muss.... :?:

steht doch alles oben:

Delphi-Quellcode:
unit Unit1;

...

    public
       procedure wuppdi;

...

implementation

uses Unit2;

...

Procedure TForm1.Wuppdi;
begin
...
end;
Delphi-Quellcode:
unit Unit2

...

implementation

uses Unit1;

procedure TForm2.Button1Click(Sender: TObject);
begin
 Form1.wuppdi;
end;
hoffentlich verständlich genug...


Mfg
Tobi

DennisHB 7. Sep 2006 19:28

Re: 2 Units und 2 Formulare...
 
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
     If Form1.Visible then begin
          Form1.Hide;
          Form2.Show;
     end else begin
          Form2.Hide;
          Form1.Show;
     end;
end;

end.
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
     Form1.Button1Click(Sender);
end;

end.
Wobei diese Lösung nicht sehr schön ist

schwan88 7. Sep 2006 20:44

Re: 2 Units und 2 Formulare...
 
aso...heißt ich muss einfach noch die Prozeduren die ich in der anderen unit verwenden will im "public" bereich deklarieren!?

Wer ich am WE mal genau testen...danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 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