Auf Komponenten von eigener Unit aus zugreifen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Biertrinker
Beiträge: 16
Registriert: Mo 18. Mär 2013, 17:19
OS, Lazarus, FPC: MAC OSX
CPU-Target: xxBit

Auf Komponenten von eigener Unit aus zugreifen

Beitrag von Biertrinker »

Hallo zusammen,

ich habe ein kleines Datenbankprg geschrieben, was grundlegend funktioniert
nun wollte ich um die Übersicht im PRG etwas zu erhalten

einzelne Teile in eigene Units auslagern
bsp

Code: Alles auswählen

 
procedure TForm1.Button1Click(Sender: TObject);
begin
  SQLQuery1.Close;
  SQLQuery1.SQL.Text:='select ID,SPORTART from t_sportart';
  SQLQuery1.Open;
  while SQLQuery1.eof = false do
begin
   ComboBox1.Items.add(SQLQuery1.Fields[0].AsString + ' -  ' + SQLQuery1.Fields[1].AsString);
  SQLQuery1.Next;
end;         
 
möchte ich in einer eigenen Unit ( bsp Unit2 ) auslagern so das ich unter:

procedure TForm1.Button1Click(Sender: TObject);
nur die passend Procedure der UNIT2 aufrufe

Frage:
wie kann ich von der erstellten Unit2 auf die visuellen / nichtvisuellen Komponente zugreifen.
Unit2 ist im Use Abschnitt der Unit1 eingetragen.

Aktuelle bekomme ich folgenden Fehler
Error: Identifier not found "SQLQuery1"
Error: Identifier not found "SQLTransaction1" …..
mfg
Horst Sammler

Benutzeravatar
theo
Beiträge: 10859
Registriert: Mo 11. Sep 2006, 19:01

Re: Auf Komponenten von eigener Unit aus zugreifen

Beitrag von theo »

1. Würde ich nicht machen. Halte alle Referenzen die zu einem Formular gehören in der dazugehörigen Unit/Klasse. Dein Versuch bringt keine Übersichtlichkeit.
2. "uses Unit1" würde in die "implementation" Section gehören.
3. Du müsstest die Komponenten über ihr Formular ansprechen: Form1.SQLQuery1.Close;

Aber wie gesagt, lagere besser formularunabhängige Funktionen und Klassen aus.
Ein Datenmodul würde sich vielleicht für die Datenbank-Komponenten empfehlen.

Biertrinker
Beiträge: 16
Registriert: Mo 18. Mär 2013, 17:19
OS, Lazarus, FPC: MAC OSX
CPU-Target: xxBit

Re: Auf Komponenten von eigener Unit aus zugreifen

Beitrag von Biertrinker »

Hallo Theo,

besten Dank für die Info,
werde mein Konzept nochmal überdenken.
Trotz allem gut zu wissen wie man auf die Komponenten zugreifen könnte :D
mfg
Horst Sammler

Antworten