![]() |
Die Unit, das unberechenbare Wesen
Hi liebe Gemeinde,
nun mach ich ja schon recht lange in Delphi, aber das Prinzip der units ist mir immer noch ein Rätsel. Das heisst, die Feld-Wald-Wiesen-Anwendung ohne Extras funktioniert ja, aber: sowie ich z.B. in unit2 eine procedur von unit1 verwende, kommt die Fehlermeldung "unbekannt". Als wenn das Viech nicht bis zwei zählen könnte! :wall: Nun hab ich mir ja das hervorragende Grundlagen-Tutorial reingezogen, und in der Tat gabs gewisse Verbesserungen, nachdem ich unit2 mit "uses unit1" im Implementationsteil gedroht habe. :stupid: Allerdings blieb der Esel weiterhin störrisch, was alle Referenzen aus unit2 anbetraf, die sich irgendwo aufs Formular 1, also Form 1 bezogen. So z.B. die procedur "zeichne auf form1.paintbox1" als Aufruf von unit2. :bouncing4: Wäre überaus dankbar für sachdienliche Hinweise :duck: Mit herbstlichem Gruss von der Nordsee Ekbert-Joachim Lienhart |
Re: Die Unit, das unberechenbare Wesen
Hallo,
da die Variable Form1 im interface von Unit1 deklariert ist, wirst du deine Drohung etwas vorziehen müssen - uses Unit1 brauchst du bereits im interface von Unit2. Grüße vom marabu |
Re: Die Unit, das unberechenbare Wesen
öhm...
wie wärs mit
Delphi-Quellcode:
unit1.form1.show;
|
Re: Die Unit, das unberechenbare Wesen
Moin Marabu,
Zitat:
Wenn ich nicht im Interface-Abschnitt von Unit2 auf Bestandteile von Unit1 zugreifen will ist uses im Implementation-Abschnitt zu benutzen doch völlig ok. [EDIT] @aiguille: Ein bisschen Sourcecode wäre nicht schlecht, denn gemäss Deiner Beschreibung dürfte der Fehler nicht auftreten. [/EDIT] |
Re: Die Unit, das unberechenbare Wesen
Da hast du völlig Recht, Chris.
Vergesst meinen Beitrag, ich war da etwas unkonzentriert. Ist denn sicher gestellt, dass die Form1 überhaupt in Unit1 lebt? Vielleicht wurde die Form1 ja umbenannt - was ich sowieso besser fände. marabu |
Re: Die Unit, das unberechenbare Wesen
Zitat:
Ein bisschen Sourcecode wäre nicht schlecht, denn gemäss Deiner Beschreibung dürfte der Fehler nicht auftreten. [delphi][/quote][quote] Hi, und danke schon mal für die Bemühungen! Sourcequote aber lass ich lieber, da mein Zoo ("öhm"? in diesem Programm schon dermassen überfüllt ist, dass ich die geduldigsten Wärter hier überfordern würde. Werde mich mal an ein einfaches Beispiel machen, wer weiss, vielleicht klappt dann alles. Trau' diesem Delphi sowieso nicht so recht, kürzlich war ein Formular weg - einfach verschwunden, und nix konnts zurückbringen. Musste von vorn anfangen! Und überhaupt! Wenn ich - hat endlich mal was hingehauen - speichern will, und dann, sicherhalbsweise das Programm (project speichern unter) in einer neuen Datei anfange - was meinst du? speichert er die neuen Fehle nich gleich wieder in der alten Datei? (Motto:wat kümmelts mich! :dancer: ) Kriegt ers nich mit oder was? Wend ich aber rohe Gewalt an, indem ich den windows explorer zu Hilfe nehme, :witch: ...dann haucht er gleich sein schwaches Leben aus! Jawohl, muss mir den Frust endlich mal von der Seele reden, pardon :warn: |
Re: Die Unit, das unberechenbare Wesen: Quellcode
hier also mal ein Quellcodebeispiel:
Delphi-Quellcode:
...und hier unit2, und führt zu einer Fehlermeldung
unit unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,unit2; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin Meldung; end; end. [Fehler] unit2.pas(17): Undefinierter Bezeichner: 'showmessage':
Delphi-Quellcode:
unit unit2;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; procedure Meldung; implementation uses unit1; procedure Meldung; begin form1.showmessage('hier ist sie'); end; end. |
Re: Die Unit, das unberechenbare Wesen: Quellcode
Zitat:
...:cat:... |
Re: Die Unit, das unberechenbare Wesen: Quellcode
Zitat:
Wann untersützt eigentlich Delphi mal Case-Sensitive Bezeichner. Dann hört das Durcheinander von Groß- und Kleinschreibung endlich auf. Sieht ja grausam aus das showmessage. So schwer ist die Shift-Taste doch nun auch nicht zu finden. |
Re: Die Unit, das unberechenbare Wesen: Quellcode
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 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