Seite 1 von 1

PB 4.50 Beta 4: LinkedList in Structure

Verfasst: 12.05.2010 18:21
von Justin
Hallo,

Verwendet man Listen einer Sturcture, die nicht in der gleichen Procedure definiert wurden, sind diese nicht initialisiert:

Code: Alles auswählen

Structure stru_Person
  Name.s
  Vorname.s
EndStructure
Structure stru_Schule
  List Schueler.stru_Person()
  Klassen.i
EndStructure
Procedure TestProc()
  S1.stru_Schule
  AddElement(S1\Schueler())
EndProcedure
TestProc()

Re: PB 4.50 Beta 4: LinkedList in Structure

Verfasst: 12.05.2010 18:28
von STARGÅTE
Jo dann initialisier sie doch :lol:

Code: Alles auswählen

Structure stru_Person
  Name.s
  Vorname.s
EndStructure
Structure stru_Schule
  List Schueler.stru_Person()
  Klassen.i
EndStructure
Procedure TestProc()
  S1.stru_Schule
  InitializeStructure(S1, stru_Schule)
  AddElement(S1\Schueler())
EndProcedure
TestProc()
(Ja es ist vermutlich ein Bug, weil das durch S1.stru_Schule selber geschehen sollte, wie außerhalb von Proceduren, aber so kannst du erst mal weiter machen)

Re: PB 4.50 Beta 4: LinkedList in Structure

Verfasst: 12.05.2010 19:05
von Justin
alles klar :)

aber das PackCallBack() nicht auf x64 läuft ist und bleibt ein Bug :)

Re: PB 4.50 Beta 4: LinkedList in Structure

Verfasst: 13.05.2010 02:57
von STARGÅTE
Hmm , ich konnte eben noch ein Bug finden

Wenn die liste selber keine Structure hat (außer eine Einfache) und es als Pointer dient, dann hilft auch kein InitializeStructure() mehr:

Code: Alles auswählen

Structure stru_Person
  Name.s
  Vorname.s
EndStructure
Structure stru_Schule
  List *Schueler.s()
  Klassen.i
EndStructure
Procedure TestProc()
  S1.stru_Schule
  InitializeStructure(S1, stru_Schule)
  AddElement(S1\Schueler())
EndProcedure
TestProc()
klar wirkt schräg, aber ist halt n BUg ^^

Re: PB 4.50 Beta 4: LinkedList in Structure

Verfasst: 13.05.2010 17:06
von Justin
wir wollen mal das beste hoffen...
Wenn das bei neuen Sachen passiert ist das noch ok, aber dass es scheinbar schon lange bekannt ist, dass die Backer- Lib unter x64 PB buggy ist, und sich daran wohl so schnell nichts ändert, dafür habe ich kein Verständnis. Ehrlich gesagt kann ich mir nicht vorstellen, dass es eine große Sache ist, wenn lediglich eine Procedure nicht aufgerufen werden kann. Die original DLL von der Homsite geht übrigens...