Unit eines anderen Projektes Importieren

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
ibola
Beiträge: 6
Registriert: So 26. Feb 2012, 16:53

Unit eines anderen Projektes Importieren

Beitrag von ibola »

Nabend,
Ich habe folgendes Problem: Ich habe 2 Programme welche zu einem Programm mit zwei forms verbunden werden sollen.
Nun habe ich die Unit des anderen Programms geöffnet und kann es auch bearbeiten, ebenso das Form.
Allerdings gelingt es mir nicht das zweite Fenster zu öffnen.
Wenn ich Unit2 bei Uses oder bei implementation uses hinzufüge gibt es nur einen Fehler: Cant find unit2 used by Unit1.
WIe muss ich vorgehen?

ibola
Beiträge: 6
Registriert: So 26. Feb 2012, 16:53

Re: Unit eines anderen Projektes Importieren

Beitrag von ibola »

Ok Problem gelöst wenn auch total umständlich. (copy+paste aller buttons und des textes).
Nun habe ich aber das Problem, dass form1 das hauptform ist und ich zwar form2 öffnen kann, form1 aber nicht schließen.
Daher zwei fragen:
1.Gibt es eine Möglichkeit das hauptformular auszublenden ohne das sich alles schließt sodass ich form2 allein seh?
2.Kann ich es dann wieder mithilfe von form2 öffnen/einblenden?
2.Gibt es eine Möglichkeit das hauptformular zu ändern, also ein drittes form zum Hauptformular zu machen?

Eigentlich sollten die beiden forms gleichberechtigt werden, sodass ich in einem Menü eines der Forms aufrufen kann was aber nicht zutrifft.
Mit Copy paste form 1 in ein neues Projekt übernehmen als form3 funktioniert auch nicht da gibt es immer eine Fehlermeldung.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Unit eines anderen Projektes Importieren

Beitrag von mschnell »

ibola hat geschrieben: 1.Gibt es eine Möglichkeit das hauptformular auszublenden ohne das sich alles schließt sodass ich form2 allein seh?
2.Kann ich es dann wieder mithilfe von form2 öffnen/einblenden?
3.Gibt es eine Möglichkeit das hauptformular zu ändern, also ein drittes form zum Hauptformular zu machen?
Ohne zu testen:

1. Form1.Visible := False
2. Form1.Visible := True oder Form1.Show. In der "uses" Sektion der Unit von Form2 muss natürlich fir Unit von Form1 referenziert werden, damit Form2 Form1 auch sehen kann
3. Was meinst Du mit Hauptformular ? Ein Projekt kann viele Fenster haben und die kann man zeigen oder verstecken. Ich glaube bei einem davon macht beendet das "Close" das Programm, aber ansonsten sind sie ziemlich gleichberechtigt.

-Michael

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Unit eines anderen Projektes Importieren

Beitrag von MAC »

1. Nein, schließt du die Form ist sie erstmal weg und da sie die hauptform ist müssten die anderen auch geschlossen werden (2teres kann vlt umgehen werden...)
Aber du musst sie nicht schließen Verstecken reicht, dazu entweder Form1.Visible := False; oder

Code: Alles auswählen

Form1.Hide;
2. Siehe mschnell.
3. Das Hauptformular (es heißt glaub ich auch so) ist das Formular welches als erstes initialisiert wird...
Also in der .lpr als erstes erscheint....

Code: Alles auswählen

Application.Initialize;
  Application.CreateForm(TForm1, Form1); //<--- HAUPTFOMULAR
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Application.Run;

Code: Alles auswählen

Signatur := nil;

Antworten