Zirkuläre Unit-Referenz

  • geschlossen
  • Delphi

  • corema
  • 1948 Aufrufe 3 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Zirkuläre Unit-Referenz

    aloha
    ich hab das problem, dass ich eine Zirkuläre Unit-Referenz habe.
    in unit "anfang" habe ich unit "ende" eingebunde.
    in Unit "ende" möchte ich aber variabeln an unit "anfang" übergeben bzw sie dort ändern. egal wie. auf jeden Fall soll ein array of integer übergenen werden, so dass ich in unit "anfang" damit arbeiten kann.
    das scheiter immer damit, dass der fehler kommt: Zirkuläre Unit-Referenz

    thx schon mal
    mfg corema
  • Diese Meldung kommt wenn du zwei verschiedenen units jeweils das andere unit als uses deklaration bekannt machst.

    Also so etwas:

    PHP-Quellcode

    1. unit Unit1;
    2. uses
    3. Unit2;
    4. { ... }
    5. unit Unit2;
    6. uses
    7. Unit1;

    Um dein Problem zu lösen könntest du in der 2. unit eine callbackfunktion registrieren über die du die Daten zurück an unit 1 schicken kannst. Ich hoffe der Lösungsansatz hilft dir weiter, ich kann dir leider keine komplette Lösung geben, weil ich kein delphi kann ;)
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • weiß nich genau ob das hier das ist, was du suchst, aber vllt hilft dir das trotzdem weiter^^

    hab das ganze direkt mit dynamischen arrays gemacht.

    damit du dynamische arrays in einer funktion übergeben kanns brauchs du folgendes:

    Quellcode

    1. type
    2. TIntegerArray = array of integer;


    dann handelt es sich immer um das selbe array

    so, nun zu den klassen anfang und ende:

    Quellcode

    1. type TAnfang = class
    2. intarray : TIntegerArray;
    3. procedure setintarray(pintarray : TIntegerArray);
    4. end;
    5. type TEnde = class
    6. intarray : TIntegerArray;
    7. procedure fillarray(pintarray : TIntegerArray);
    8. end;


    hab alle 3 klassen in eine unit gepackt. wenn du in deinem programm jetz ein array aus der klasse TEnde an die klasse TAnfang sendes mit hilfe der procedure SetIntArray, wird das IntArray aus anfang die werte des IntArray von Ende annehmen.
  • Zerd schrieb:

    Diese Meldung kommt wenn du zwei verschiedenen units jeweils das andere unit als uses deklaration bekannt machst.

    Also so etwas:

    PHP-Quellcode

    1. unit Unit1;
    2. uses
    3. Unit2;
    4. { ... }
    5. unit Unit2;
    6. uses
    7. Unit1;

    Um dein Problem zu lösen könntest du in der 2. unit eine callbackfunktion registrieren über die du die Daten zurück an unit 1 schicken kannst. Ich hoffe der Lösungsansatz hilft dir weiter, ich kann dir leider keine komplette Lösung geben, weil ich kein delphi kann ;)

    jop thx :)
    im endeffekt hab ich es jetzt circa so gemach
    :)

    EDIT:
    kann geschlossen werden