Deklaracja rekordów.

0

Witam!

Mam taki problem:

type
type
  TNetwork = record
    OnAddContact:function(Account:TAccount; Contact:TContact):integer;
  end;
  PNetwork=^TNetwork;

type
  TContact = record
    Network_Name:string;
    Network:PNetwork;
  end;

Mam zdeklarowany rekord "TContact", który zawiera w sobie rekord "TContact". Ten drugi z kolei wykorzystuje ten pierwszy jako parametr w procedurze. Za nic nie mogę tego skompilować (rekord położony wyżej nie "widzi" tego niższego).

Na pewno jest jakiś sposób na "obejście" tego ;]

0

tylko wskaźniki do typów mogą być używane przed definicją tychże typów

0

Dlaczego chcesz to tak dziwnie zrobić?? Przecież to nie ma sensu. Powiedz jaki masz problem, to wymyślimy lepszy sposób, a jak chcesz to tak zrobić to od razu skocz z okna bo to nie ma żadnego sensu.
PS. Pamiętaj o KISS http://pl.wikipedia.org/wiki/KISS_%28regu%C5%82a%29

0

Robię pewien program. Mam kontakty (TContact) które mają przypisaną sieć (PNetwork - wskaźnik TNetwork). Z kolei sieci (TNetwork) muszą mieć zapisane wskaźniki do procedur (funkcje są w DLL'kach). Jedną z nich jest funkcja informująca o dodaniu kontaktu, a jednym z jej parametrów jest obiekt typu TContact.

@czarny445 - Nie rozumiem twojej nagonki (bo to właśnie ona nie ma sensu). :/

0

Nie robię żadnej nagonki. Po prostu nie rozumiałem dlaczego. Zastanowię się nad tym problemem...

Edytuj procedurę tak żebyś podawał w niej nie sam rekord tylko jego zawartość. O ile to ci w czymś pomoże.

0

ale to da się tak zrobić - tylko trzeba pilnować reguły, którą podałem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1