Pass Array of UDTs with Variable Length Strings to C/C++
-
Hallo !
Habe der Übersichtlichekeit einen neuen Thread eröffnet. Sorry, aber bitte um Verständnis.
Folgendes Problem.
Ich möchte ein Array eines UDTs von VB an eine C/C++ - Dll übergeben.
In der Konwledge-Base habe ich dieses dazu gefundenIch möchte das ganze allerdings ohne TypeLibrary und nur zwei Strings in dem UDT haben. Aber das bekomme ich nicht hin.

Kann mir jemand helfen ???

Gruß Michael
-
Wenn die dir da OLE an die Backe binden wollen, Viel Spaß
-
PAD schrieb:
Wenn die dir da OLE an die Backe binden wollen, Viel Spaß
Wollen sie nicht, wie kommst Du denn darauf?
@Michael__W
Was spricht denn gegen die TypeLib? Hast Du Angst wegen einer zusätzlichen Datei? Du kannst die TypeLib auch den Ressourcen hinzufügen, damit hätte sich das Problem auch erledigt.
-
Wenn du in den MSDN Beitrag reinliest, siehst du es
-
Da habe ich reingelesen. Ich seh es nicht. Müsste nicht wenigstens irgendwo eine coclass zu finden sein?
-
Ich habs aus folgenden Code-zeilen geschlossen
#include <oleauto.h> (t+i)->str = SysAllocString(OLESTR("Changed."));
-
PAD schrieb:
Ich habs aus folgenden Code-zeilen geschlossen
Das allein reicht nicht aus, um auf Anwendung von OLE zu schliessen. Die TypeLib im Artikel dient lediglich als eine Art Header-File für VB. Das fürt dann dazu, daß VB die Strings nicht mehr in ANSI- oder UNICODE-Strings konvertiert. Jetzt muß mit Basic-Strings (BSTR) direkt umgegangen werden. Und dieser Weg führt über SysAllocString/ SysFreeString (aus oleauto.h).
-
Da dies die Fortsetzung von
http://www.c-plusplus.net/forum/viewtopic.php?p=348708
ist, und wir damsls bei der VB Kommunikation gepasst hatten, ist das sehr interessant, allerdings kann ich wenn das
leidige
Thema VB wiedermal kommt nicht mehr es geht nicht sagen (Sch...).Könnte man diesen Thread in die FAQ packen, damit er nicht verloren geht.
-
Nette Diskussion ...

Aber trotzdem bleibt mein Problem bestehen.
Ein Array von UDTs/Structs an C++ von VB zu übergeben ist kein Problem solange es sich bei den Daten um Zahlen handelt (int, long, ...)
Wie kann ich denn ein Array mit Strings (String-Array) an C++ übergeben ???
Gruß Michael
-
Michael__W. schrieb:
Wie kann ich denn ein Array mit Strings (String-Array) an C++ übergeben ???
http://www.c-plusplus.net/forum/viewtopic.php?t=48270
Wie isses mit VARTYPE als VT_BSTR?