Announcement

Collapse
No announcement yet.

Unit wird erkannt aber Funktion nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Unit wird erkannt aber Funktion nicht

    Mein Problem ist folgendes:

    Ich habe eine Unit in mein Projekt eingebunden welche ein Funktion enthällt, die ich als Klasse in der Unit deklariert habe aber in beim Kompilieren einen Fehler auslöst. Die Fehlermeldung lautet: 'Undefinierter Bezeichner'.

    Ich hätte gerne die Wahrscheinlichsten Fehler, die hierbei auftreten, da ich weiss, dass eine solche Meldung viele Ursachen haben kann.

    Danke.

  • #2
    Hallo Aaron,

    hast du irgendetwas hiervon vergessen:

    <pre>
    unit DieseUnitSollEingebundenWerden;

    interface
    uses Windows;

    // "public":
    function Test(const S: String): String;

    var
    i : integer;

    implementation

    function Test(const S: String): String;
    var
    ...
    </pre>
    ...im "Projekt", in dem die Unit verwenden werden soll "uses So_Wie_DieseUnitSollEingebundenWerden_Heisst.pas" angeben...

    Tschüss Ti

    Comment


    • #3
      Du hast eine Object Klasse definiert und darin eine Methode. Um diese nun aufzurufen

      <pre>

      type
      TMyObject = class
      procedure DoThis1;
      class proceudre DoThis2;
      end;<br>

      var
      M: TMyObject;
      begin
      TMyObject.DoThis2;<br>

      M := TMyObject.Create;
      M.DoThis1;
      M.Free;
      end;<br>

      </pre>

      Du must also ein Object erzeugen um .DoThis1 aufrufen zu können, innerhalb von .DoThis1 kann auf das vollständige allozierte Object zugegriffen werden, also alle Felder, Methoden und Properties.<br>

      .DoThis2 ist eine Klassen-Methode und kann NUR auf den Klassentyp zugreifen, z.B. um ein solches Object zu erzeugen. D.h. innherhalb von .DoThis2 kann nicht auf die Felder und Properties und NICHT klassen-methoden wie .DoThis1 zugegriffen werden.<br>

      Gruß Hage

      Comment


      • #4
        Hallo,
        danke für die schnelle Hilfe. Endgültig hat der Ansatz zwar in dem Project nicht weitergeholfen. Der Fehler lag an einer anderen Stelle (inzw. minderwichtig). Dafür hat es uns bei einem anderen wirklich geholfen !!!

        MfG i.A. Aaron Gryzi

        Comment

        Working...
        X