AGB  ·  Datenschutz  ·  Impressum  







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

Form/Frame in Projekt einbinden

Ein Thema von Nilser · begonnen am 7. Feb 2008 · letzter Beitrag vom 8. Feb 2008
Antwort Antwort
Nilser

Registriert seit: 9. Dez 2007
5 Beiträge
 
#1

Form/Frame in Projekt einbinden

  Alt 7. Feb 2008, 10:08
Hi,
ich habe mich zwar schon einige Zeit mit Delphi beschäftigt, doch nun bin ich auf ein Problem gestoßen, zu welchem ich keine Hilfe dazu gefunden habe.

Das Programm:
Es hat eine Hauptform. Um Eigenschaften des Programms einzustellen, habe ich eine Menü erstellt mit dem Punkt "Eigenschaften"
Mit einem Klick auf dieses soll nun ein Fenster geöffnet werden, welches verschiedene Komponenten enthällt (z.B. Checkbox,Radiobutton).
Die Eigenschaften werden in einer Ini-Datei gespeichert.

Mein Problem:
Auf Klick soll der Frame "Eigenschaften" erscheinen (mit darauf liegenden Komponenten).
Kann ich auch auf Komponenteneigenschaften einer nicht gezeigten Form zugreifen?
Denn die Eigenschaften sollen aus bei Programmstart aus der Ini ausgelesen werden und auch gleich benutzt werden für das Programm.


Wenn jemand dazu was weiß, oder einen guten Link hat, dann freue ich mich über Antworten

Gruß
Nilser
  Mit Zitat antworten Zitat
Centrii

Registriert seit: 18. Mai 2007
Ort: FDS
108 Beiträge
 
Delphi 2006 Architect
 
#2

Re: Form/Frame in Projekt einbinden

  Alt 7. Feb 2008, 10:14
Hi Nilser,

wenn ich dich richtig verstanden habe willst du aus deinem Main-Form auf ein anderes Form zugreifen, richtig?

einfach mit:

Delphi-Quellcode:
  uses form;

  form.Checkbox1.enabled := true;
  form.labeledit1.text := 'Hallo';
so kannst du auf alle Komponenten zugreifen die auf deinem anderen Form liegen...

Gruß Ruben
Ruben
Theorie ist, wenn man alles weiss, aber nichts funktioniert. Praxis ist, wenn alles funktioniert und keiner weiss warum
  Mit Zitat antworten Zitat
Nilser

Registriert seit: 9. Dez 2007
5 Beiträge
 
#3

Re: Form/Frame in Projekt einbinden

  Alt 8. Feb 2008, 10:38
Danke Centrii durch dich habe ich einen neuen Denkanstoß erhalten und konnte mein Problem lösen.
Doch nun stehe ich vor einem weiteren:

Mein Programm hat nun zwei Units.
die Unit2 steht im USES-Bereich der Unit1

Nun kann ich auf Komponenten der zweiten Form zugreifen(aus der Unit 1 heraus).
jedoch kann ich nicht auf ein Ereignis auf der zweiten Form (Unit2) reagieren.
Genauer gesagt: Es soll eine Procedure in Form1 ausgelöst werden, wenn auf Form2 ein bestimmtes Ereignis geschieht.

D.h., dass wenn ein Button auf Form 2 geklickt wird, kann ich nur in der zweiten Unit eine Routine dafür schreiben um darauf zu reagieren.
Für eine Reaktion auf das Ereignis gibt es (meines Wissens nach) zwei Möglichkeiten:

1. Ich erstelle in Unit1 eine Routine/Procedure, die auf Ereignisse auf der zweiten Form reagiert.
oder
2. Ich reagiere auf das Ereignis in einer Routine/Procedure in Unit2 und greif aber auf Komponenten der ersten Form zu.

Jedoch funktioniert leider beides nicht. Gibt es da eine Lösung?
  Mit Zitat antworten Zitat
Centrii

Registriert seit: 18. Mai 2007
Ort: FDS
108 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Form/Frame in Projekt einbinden

  Alt 8. Feb 2008, 13:20
So ganz hab ich dein Problem nicht verstanden, aber wenn du aus einem Form auf eine Unit (oder auch anders herum) auf Proceduren
zugreifen willst, musst du diese in die Uses einbinden.
d.h. wenn ich dich richtig verstanden habe, binde einfach deine Units gegenseitig in die Uses ein und es müsste gehen...

Gruß Ruben
Ruben
Theorie ist, wenn man alles weiss, aber nichts funktioniert. Praxis ist, wenn alles funktioniert und keiner weiss warum
  Mit Zitat antworten Zitat
Nilser

Registriert seit: 9. Dez 2007
5 Beiträge
 
#5

Re: Form/Frame in Projekt einbinden

  Alt 8. Feb 2008, 16:32
das habe ich auch schon versucht.
Daraufhin erscheint folgender Fehler:
"[Fatal Error] unit1.pas(8): Circular unit reference to 'Unit1'" Grund ist, dass er sich im Kreise dreht beim usus "Öffnen" (unit1->unit2->unit1->unit2->...)


mhh ich habe keine Ahnung, wie ich mein Problem besser erklären kann.

1.Frage: Wie erstelle ich in Unit1 eine Routine/Procedure, die auf Ereignisse in Unit2 reagiert?
Bsp. Vorstellung: Meine Vorstellung davon. geht sowas überhaupt???
Delphi-Quellcode:
unit unit1

uses Unit2;
...
implementation
procedure Unit2.TForm2.Button1Click(Sender: TObject);
begin
     Form1.//... da soll auf einer Komponente(unit1) was geändert werden
end;
2.Frage: Wie reagiere ich Ereignis in einer Routine/Procedure in Unit2 und greif aber auf Komponenten der Unit1 zu.
Bsp. Vorstellung:
Delphi-Quellcode:
unit unit2
...
implementation
procedure TForm2.ButtonClick(Sender: TObject);
begin
    unit1.TForm1.//... da soll auf einer Komponente(unit1) was geändert werden
end;
Ich hoffe es ist jetzt verständlicher
falls Ihr Tutorials zu diesem oder ähnlichen Thema kennt, dann könnt ihr mir auch den Link geben
Ich werde weiter rumprobieren, doch langsam habe ich keinen Elan mehr

Gruß
Nilser
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Form/Frame in Projekt einbinden

  Alt 8. Feb 2008, 16:40
Delphi-Quellcode:
unit unit2
...
implementation

uses ...Unit1;

procedure TForm2.ButtonClick(Sender: TObject);
begin
    unit1.TForm1.//... da soll auf einer Komponente(unit1) was geändert werden
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Nilser

Registriert seit: 9. Dez 2007
5 Beiträge
 
#7

Re: Form/Frame in Projekt einbinden

  Alt 8. Feb 2008, 16:56
Danke mkinzler, bis jetzt funktioniert es
  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 09: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