Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Units miteinander verknüpfen (https://www.delphipraxis.net/127160-units-miteinander-verknuepfen.html)

Muddy 8. Jan 2009 16:16


Units miteinander verknüpfen
 
HEy Leute.

Ich interessiere mich dafür mit welchem Befehl ich 2 Formulare(Units) miteinander verknüpfe. ich möchte nämlich in einer anderen Unit die Variabeln wieder verwenden können.

Ich brauche nur den Teil um die Formulare im anderen verwenden zu können

Muddy 8. Jan 2009 16:18

Re: Units miteinander verknüpfen
 
Hier ist der Code wie ich ihn bisher hab
Delphi-Quellcode:
interface

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

type cd_sammlung = record
  nummer: integer;
  titel: string[20];
  interpret: string[30];
end;
 cdfeld = array [1..20] of cd_sammlung;

var
cd: cd_sammlung;
alle_cd: cdfeld;
zaehler: integer;
Delphi-Quellcode:
var
  Form1: TForm1;

implementation

{$R *.dfm}

khh 8. Jan 2009 16:20

Re: Units miteinander verknüpfen
 
Zitat:

Zitat von Muddy
HEy Leute.

Ich interessiere mich dafür mit welchem Befehl ich 2 Formulare(Units) miteinander verknüpfe. ich möchte nämlich in einer anderen Unit die Variabeln wieder verwenden können.

Ich brauche nur den Teil um die Formulare im anderen verwenden zu können

indem du einen Zirkularbezug herstellst,also beide gegeneinander in der uses-Klausel einbindest , einmal normal und einmal in der Impementation. Ist aber nicht so das gelbe vom ei.
Was willst denn eigentlich machen ?

EDIT: Falls ich das falsch verstanden habe und du keine _gegenseitigen_ variablen verwenden willst, reicht natürlich einmal die Einbindung in der uses-Klausel.


Gruss KH

Muddy 8. Jan 2009 16:24

Re: Units miteinander verknüpfen
 
In dem einen Fenster ill ich CDTitel, und INterpret einlesen und im StringGrid ausgeben und im anderen Formular möchte ich aus dem StringGrid des 1. Formlúlar nach Titel und INterpret suchen können.

Über die Radiogroup wähle ich was gesucht werden soll, gebe dann Titel oder Interpret in einem Edit ein und ich bekomme Dann entweder den Titel oder den Interpreten mit Nummer angezeigt.

fkerber 8. Jan 2009 16:25

Re: Units miteinander verknüpfen
 
Hi!

Vorab eine kleine Bitte:
Oben rechts an jedem Beitrag von dir findest du (bis zu 24h nach Erstellen) einen kleinen Button (http://www.delphipraxis.net/template.../icon_edit.gif). Durch klick kannst du so deinen Beitrag editieren und noch etwas hinzufügen und brauchst keinen neuen Beitrag zu erstellen.

Ansonsten zum Thema:
Einfach die Unit, die die Variablen enthält, in die uses-Klausel der Unit aufnehmen, in der du die Variablen nutzen willst.

Ob es so sinnvoll ist globale Variablen zu haben, steht auf einem anderen Blatt... ;)


Ciao, Frederic

Muddy 8. Jan 2009 16:25

Re: Units miteinander verknüpfen
 
Ich kenne den Syntax zur Verbindung nicht. Das wäre noch sehr hilfreich

Muddy 8. Jan 2009 16:28

Re: Units miteinander verknüpfen
 
Soweit ich weiß muss ich unter die Implemetation noch uses Form2: irgendwas einfügen oder nicht?

khh 8. Jan 2009 16:29

Re: Units miteinander verknüpfen
 
Zitat:

Zitat von Muddy
Ich kenne den Syntax zur Verbindung nicht. Das wäre noch sehr hilfreich

heisst das nicht _die_ syntax ? ;-)

uses unitxy

Muddy 8. Jan 2009 16:31

Re: Units miteinander verknüpfen
 
Ja kann sein o.o
Aber was muss ich denn in die uses schreiben zur verknüpfung. Es reicht ja nicht unter der uses im interface bereich die Variabeln anzugeben.

Ich bin Anfänger was delphi angeht :)

khh 8. Jan 2009 16:36

Re: Units miteinander verknüpfen
 
Zitat:

Zitat von Muddy
Ja kann sein o.o
Aber was muss ich denn in die uses schreiben zur verknüpfung. Es reicht ja nicht unter der uses im interface bereich die Variabeln anzugeben.

Ich bin Anfänger was delphi angeht :)

naja . dass das nicht so ideal ist globale variablen zu verwenden, wurde ja schon gesagt.
wenn du in der uses-klausel im interface-abschnitt schreibst uses unit2, dann kannst du in der unit1 per
unit2.variablexy darauf zugreifen.

Gruss KH

Muddy 8. Jan 2009 16:38

Re: Units miteinander verknüpfen
 
Dankeschön. jetzt kann ich meinem PRoblem nachgehen. ^^

p80286 8. Jan 2009 16:44

Re: Units miteinander verknüpfen
 
Hallo Muddy,

wenn ich Dich richtig verstehe hast du verschiede Forms für Datenerfassung,Anzeige und Suche dafür würde ich Dir zwar ein Pagecontrol empfehlen, aber das ist ja Deine Sache.
Auf jeden Fall solltest Du eine Eigene Unit für die Datenverarbeitung benutzen, dann ist die von der Oberfläche vollkommen unabhängig. Das ist zwar ein wenig aufwendiger, aber später bei Korrekturen und Ergänzungen auf jeden Fall einfacher.

Zur Syntax:

Auf der sicheren seite bist Du wenn Du
Interface
Uses DATAUNIT,.. ;

..

Implementation

...

benutzt.

Wenn Du die Unit im Interface-Teil nicht benötigst, dann würde ich sie auch erst in der Implementation bekannt geben:

Interface
...
Implementation
uses DATAUNIT,... ;

Grüße
K-H

guidok 8. Jan 2009 17:11

Re: Units miteinander verknüpfen
 
Zitat:

Zitat von Muddy
Delphi-Quellcode:
type cd_sammlung = record
  nummer: integer;
  titel: string[20];
  interpret: string[30];
end;
 cdfeld = array [1..20] of cd_sammlung;

var
cd: cd_sammlung;
alle_cd: cdfeld;
zaehler: integer;

Du solltest dir auf jeden Fall gleich einige Konventionen betreffs der Namensgebung angewöhnen, die dir das Leben später viel leichter machen werden. Typen sollten immer mit einem T... beginnen.

Delphi-Quellcode:
type
  TCD = record
    Nummer: Integer;
    Titel: String[20];
    Interpret: String[30];
  end;

 TCDSammlung = Array [1..20] of TCD;

var
  CD: TCD;
  CDSammlung: TCDSammlung;
  Zaehler: Integer;
So wird es übersichtlicher, du siehst sofort was ist Typ und was ist Variable.


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