Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Benutzerdefinierten Datentyp übergeben

59 views
Skip to first unread message

Peter Hagemann

unread,
Aug 9, 2001, 7:39:05 AM8/9/01
to
Hallo!

Ich hoffe ich bin jetzt in der richtigen NG - jedenfalls finde ich keine
deutschsprachige, die besser paßt.
Ich habe ein MS-Visio2000 VBA-Programm und eine in VB6 (ohne SP)
programmierte Active-X -DLL.
Ich würde gerne einen selbstdefinierten Datentyp an diese DLL übergeben -
nur kriege ich das partout nicht hin! Wenn ich versuche, den Typ ByRef zu
übergeben bekomme ich "Argumenttyp ByRef unverträglich", versuche ich es per
Value bekomme ich "Benutzerdefinierter Typ kann nicht als Wert (ByVal)
übergeben werden" :-(
Die Typdeklaration haben ich von Visio aus per Copy+Paste übernommen, daher
kann also eigentlich keine Unverträglichkeit kommen. Ich kann auch zurchaus
eine Variable dieses Typs aus der dll *zurückgeben* - aber ich schaffe es
nicht, eine hineinzubekommen!

Hilfe!

Peter


Peter Hagemann

unread,
Aug 9, 2001, 8:16:50 AM8/9/01
to
Hab' das Problem bereits gelöst

Trotzdem danke!

Peter
"Peter Hagemann" <phag...@nsl.de> schrieb im Newsbeitrag
news:9kttdr$nnn$07$1...@news.t-online.com...

Armin Zingler

unread,
Aug 9, 2001, 8:59:38 AM8/9/01
to
"Peter Hagemann" <phag...@nsl.de> schrieb

Wo ist der Type denn _ursprünglich_deklariert?

Der Type muß in der DLL deklariert sein. Anders kann es auch gar nicht
gehen, denn die DLL kann ja nur kompiliert werden, wenn sie den
Datentyp kennt.

Falls der Type in MS-Visio2000 deklariert ist, mußt Du in Deiner DLL
in Projekt -> Verweise einen Verweis auf MS-Visio setzen - falls das
möglich ist! Da ich Visio nicht habe und kenne, kann ich das nicht
beantworten.

Jedenfalls nützt es nichts, eine _Kopie_ der Type-Deklaration in der
DLL zu verwenden. Dann handelt es sich zwar um einen Type der genauso
aufgebaut ist, wie das Orignal, es ist aber nicht _derselbe_ Type.
Deswegen kommt auch die Fehlermeldung "Argumenttyp ByRef
unverträglich".

Armin

Peter Hagemann

unread,
Aug 10, 2001, 2:41:40 AM8/10/01
to
Hallo Armin!

Die doppelte Typdeklaration war genau der Grund. Ich habe den jetzt in der
DLL deklariert, und komme per Verweis auf die DLL auch von Visio aus an den
Typ heran.

Vielen Dank für die Hilfe

Peter

"Armin Zingler" <armin....@freenet.de> schrieb im Newsbeitrag
news:3b72...@news.basicworld.com...

0 new messages