Mathias, du hattest recht
Beim manuellen Ändern der Klassennamen TFmain zu Tmain / Tside und so weiter habe ich mich vollkommen verwurstet sodass in unit1 von TFmain und in unit2 von Tmain die Rede war...
Ich habe jetzt per "Suchen und ersetzten" alles zu Tmain geändert.
Alles klar hier das Projekt, hat vielleicht noch keinen so schönen Namen
Methoden anderer Units nutzen
-
- Beiträge: 20
- Registriert: Di 31. Jan 2017, 19:46
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Berlin
Re: Methoden anderer Units nutzen
- Dateianhänge
-
- agdsa.zip
- (1.9 MiB) 50-mal heruntergeladen
Re: Methoden anderer Units nutzen
Mathias hat geschrieben:Jole hat geschrieben:Was passiert eigentlich wenn in unit1 und unit2 für die Klassen ein der der selbe Bezeichner verwendet wird?
Ich weis nicht wie tightTannic das hingekriegt hat. Wen ich an 2 Forms, den gleichen Namen geben will, motzt die IDE da schon.
Und wen man es irgendwie manuell ändert, wird es spätestens in der *.lpr-Datei bei FormCreate Probleme geben.
Wenn in einer unit zwei gleichnamige Klassen deklariert werden, dann pfeift dich der Compiler an. Wenn aber zwei gleichnamige Klassen in unterschiedlichen units deklariert werden, dann hat die Klasse Priorität die die andere unit in der uses hat.
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Methoden anderer Units nutzen
So wie es scheint, soll die Version im Anhang laufen.
Ich denke, dein grösste Fehler war, du wolltest selbst eine Classe in Unit2 erstellen und dafür hast du ein einfaches Copy-Paste von der Form-Classe der Unit1 gemacht.
Ich habe in der Unit2 die Klassen-Deklaration angepasst.
Und im Form1 habe ich ein Create und Destroy für deine Classe in Unit2 gemacht.
An der lfm und lpr -Datei musste ich noch manuell Anpassungen machen.
Aber jetzt sollte es laufen.
Ich denke, dein grösste Fehler war, du wolltest selbst eine Classe in Unit2 erstellen und dafür hast du ein einfaches Copy-Paste von der Form-Classe der Unit1 gemacht.
Ich habe in der Unit2 die Klassen-Deklaration angepasst.
Und im Form1 habe ich ein Create und Destroy für deine Classe in Unit2 gemacht.
An der lfm und lpr -Datei musste ich noch manuell Anpassungen machen.
Aber jetzt sollte es laufen.
- Dateianhänge
-
- agdsa.zip
- (1.28 MiB) 59-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 20
- Registriert: Di 31. Jan 2017, 19:46
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Berlin
Re: Methoden anderer Units nutzen
Mein größter Fehler überhaupt war, eine neue Unit mit Klasse zu schreiben, ohne zu wissen, wie man Klassen erstellt / handhabt x) (schön dumm)Mathias hat geschrieben:Ich denke, dein grösste Fehler war, du wolltest selbst eine Classe in Unit2 erstellen und dafür hast du ein einfaches Copy-Paste von der Form-Classe der Unit1 gemacht.
Die Aufgabe von Klassen haben für mich bis jetzt immer Records erldigt.
Danke ! Das war wohl der schnellste Weg mit auf die Sprünge zu helfenMathias hat geschrieben:Ich habe in der Unit2 die Klassen-Deklaration angepasst.
Und im Form1 habe ich ein Create und Destroy für deine Classe in Unit2 gemacht.
An der lfm und lpr -Datei musste ich noch manuell Anpassungen machen.
Ja funktioniert ! =) Zumindest so, als alles noch in einer Unit steckte.Mathias hat geschrieben:Aber jetzt sollte es laufen.
Auch das ist gut zu wissen; also hat unit1 die Methode aus unit2 deswegen nicht gefunden, weil deren Klasse quasi überschrieben wurde =/ (Worin besteht darin überhaupt der Sinn !?)Jole hat geschrieben:Wenn in einer unit zwei gleichnamige Klassen deklariert werden, dann pfeift dich der Compiler an. Wenn aber zwei gleichnamige Klassen in unterschiedlichen units deklariert werden, dann hat die Klasse Priorität die die andere unit in der uses hat.
Nagut, ich betrachte das Problem als gelöst
Vielen Dank für eure Hilfe.
mfG.
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Methoden anderer Units nutzen
Mein größter Fehler überhaupt war, eine neue Unit mit Klasse zu schreiben, ohne zu wissen, wie man Klassen erstellt / handhabt x) (schön dumm)
Die Aufgabe von Klassen haben für mich bis jetzt immer Records erldigt.
Wen man weis, wie Klassen funktionieren, sind diese eine sehr gute Sache.
Wen möglich, mache ich alles mit Klassen, schlussendlich hat man damit sehr sauberen Code.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot