Absender: Timo Sandmann
Datum: Do, 14.10.2010 14:03:11
In-reply-to:
<096FD558C4D20046A1BABE72DFF0C6C33D480BBA80@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References:
<096FD558C4D20046A1BABE72DFF0C6C33B3ED5A41C@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx><CE1FB7FF-4A39-47CE-80F6-316DD3A2D068@xxxxxxxxxxxxxxx><20100826195514.307630@xxxxxxx> <9FC1FC43-9D8F-4DF1-A899-DD2305A89771@xxxxxxxxxxxxxxx> <9DD5454FB74E49BABC1EAF57CD9B8505@FrankPC> <D077FF81-B44C-43D6-B5AE-DC12B2BE6714@xxxxxxxxxxxxxxx> <09576064-BE2C-42E1-96DA-ABACB3B3E4F6@xxxxxxxxxxxxxxx> <20101013181942.290030@xxxxxxx> <EFA41A8A-EFD0-42D4-A75A-798D1EE8B024@xxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33D480BB960@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <684B0001-B07F-4684-A8EE-FF7983C6FBE0@xxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33D480BBA80@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Hallo Frank, Am 14.10.2010 um 13:38 schrieb Menzel, Frank IT-OS: > Hallo Timo, > zu dem Punkt: > " Weißt Du, ob es denn grundsätzlich bei dem uBasic-Interpreter möglich ist (sein soll), einen String als Parameter zu verwenden? Falls ja, dann müsste man eigentlich nur noch die Parameter-Übergabe zum RemoteCall anpassen (bot_remotecall() erwartet derzeit einen Zeiger auf ein Parameter-Array). Im Prinzip so, wie bei bot_2_bot_start_remotecall()." > > Den Stringnamen der aufzurufenden Routine/ Verhalten habe ich im Ubasic. Aber wie soll die Parameterübergabe gehandelt werden? Je nach Verhalten/ Routine sind die Parameter unterschiedlich. Mit bot_2_bot_start_remotecall sollte es sogar gehen, denn der Stringname ist bekannt. Tja, aber die Parameter... "Nur noch" ist gut, wenn Du eine Lösung hast, den Aufruf einer Routine sehr flexibel zu gestalten… also wenn man es sich einfach machen will, benutzt man call("bot_remotecall_bas", "bot_turn", 90, 0, 0) und bot_remotecall_basic sieht so aus: void bot_remotecall_bas(const char * fkt, remote_call_data_t par1, remote_call_data_t par2, remote_call_data_t par3) { remote_call_data_t params[3] = {par1, par2, par3}; bot_remotecall(get_behaviour(bot_ubasic_behaviour), fkt, params); } Findet man die angehängten Nullen unschön, müsste man uBasic halt beibringen, bei weniger angegebenen Parametern, als in der Tabelle stehen, diese jeweils z.B. mit 0 "aufzufüllen". Gruß, Timo