Page 1 of 1

Verwendung von _MB_AddNet() unter C++

Posted: Mon 15. Oct 2012, 18:53
by layornos
Guten Tag,

ich habe ein kleines (großes?) Verständnisproblem was die Funktion _MB_AddNet() angeht.
Ich möchte zwei Netze laden und diese auch verwenden.

Nur scheine ich die Funktionen falsch zu verwenden, da es leider nicht klappt.
Die Verwendung eines Netzes klappt wunderbar.

Hier mal die Aufrufreihenfolge:

Code: Select all

_MB_LoadNet("netz1.mbn");
_MB_AddNet();
_MB_LoadNet("netz2.mbn");
Dann jeweilige Aktivierung des gebrauchten Netztes mit:

Code: Select all

_MB_SelectNet(a)
a = 0 o. 1

Wahrscheinlich ist die Lösung ziemlich simpel. Aber ich komme nicht darauf.

Gruß
Layornos

Re: Verwendung von _MB_AddNet() unter C++

Posted: Mon 15. Oct 2012, 21:38
by TJetter
Hallo,

die MemBrain dl führt alle Operationen konsequent auf dem momentan selektierten Netz aus. Das gilt auch für die Methode

Code: Select all

_MB_LoadNet(...)
D.h., in Ihrem Beispiel:

Code: Select all

_MB_LoadNet("netz1.mbn");
_MB_AddNet();
_MB_LoadNet("netz2.mbn");
fehlt der Aufruf '_MB_SelectNet(1)', was dazu führt, dass zwar ein neues Netz angelegt wird (mit Index 1), dieses aber nicht aus einer Datei geladen wird. Vielmehr wird das Netz mit Index 0 (das immer existiert) zwei mal geladen: Zunächst mit "netz1.mbn" und dann mit "netz2.mbn" (wobei natürlich der erste Aufruf damit wirkungslos wird).
Richtig muss es also heißen:

Code: Select all

_MB_SelectNet(0); // Nur nötig, wenn vorher bereits ein anderes Netz selektiert war.
_MB_LoadNet("netz1.mbn");
_MB_AddNet();
_MB_SelectNet(1); // Neu erzeugtes Netz selektieren, damit es aus der Datei geladen werden kann.
_MB_LoadNet("netz2.mbn");
Grüße