Verwendung von _MB_AddNet() unter C++

Sie sind sich nicht sicher, in welches Forum Ihre Frage oder Ihr Anliegen passt?
Möchten Sie ein neues Forum vorschlagen? Möchten Sie Kritik am Forum selbst üben?

Dann posten Sie bitte hier.
Post Reply
layornos
Posts: 1
Joined: Mon 15. Oct 2012, 18:43

Verwendung von _MB_AddNet() unter C++

Post 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
User avatar
TJetter
Posts: 346
Joined: Sat 13. Oct 2012, 12:04

Re: Verwendung von _MB_AddNet() unter C++

Post 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
Thomas Jetter
Post Reply