Hello,
I have a COM-method with this definition: HRESULT _stdcall GetVersionInfo( [out] BSTR* ClientVersion, [out] BSTR* ServerVersion) How do I coll it from VisualWorks 7.5? I thought, the following would be correct: result1 := BSTR resultValueBuffer. result2 := BSTR resultValueBuffer. <aComDriverForTheObject> invokeMethod:#GetVersionInfo with: result1 asPointerParameter with: result2 asPointerParameter. string1 := result1 contents. string2 := result2 contents. But it doesn't work. I get the error "Illegal assignment" from the smalltalk COM-system. Can anyone help me? Greetings Klaus Collogia AG Ubierring 11 50678 Köln Germany +49 221 336080 http://www.collogia.de Diese Nachricht ist vertraulich. Wenn Sie nicht der beabsichtigte Empfänger sind, informieren Sie bitte den Absender. Das unbefugte Kopieren oder Weiterleiten ist nicht gestattet. Wegen der Manipulierbarkeit von E-Mails übernehmen wir keine Haftung für den Inhalt. PENSIONS-SICHERUNGS-VEREIN, Versicherungsverein auf Gegenseitigkeit Vorsitzender des Aufsichtsrats: Dr. Dieter Hundt ∙ Vorstand: Martin Hoppenrath (Vors.), Dr. Hermann Peter Wohlleben Registergericht: AG Köln Nr. HRB 6821 ∙ Sitz: Köln _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Hi Klaus
You should be able to just call it with two strings, or as 'this is a string' copyToHeap, as BSTR is a simple char * in the end. (Maybe encoding will be an issue, I currently don't know). resultValueBuffers are used for return values or if arguments are used as [in, out] parameters, when you need to get modified values back. But your arguments are [out] only, so no need for that. HTH Thomas Am 25.02.2010 18:04, schrieb Mülheims, Klaus: > Hello, > > I have a COM-method with this definition: > > HRESULT _stdcall GetVersionInfo( > [out] BSTR* ClientVersion, > [out] BSTR* ServerVersion) > > How do I coll it from VisualWorks 7.5? > > I thought, the following would be correct: > > result1 := BSTR resultValueBuffer. > result2 := BSTR resultValueBuffer. > <aComDriverForTheObject> invokeMethod:#GetVersionInfo with: result1 asPointerParameter with: result2 asPointerParameter. > > string1 := result1 contents. > string2 := result2 contents. > > But it doesn't work. I get the error "Illegal assignment" from the smalltalk COM-system. > Can anyone help me? > > Greetings > > Klaus > > Collogia AG > Ubierring 11 > > 50678 Köln > Germany > +49 221 336080 > http://www.collogia.de > > > Diese Nachricht ist vertraulich. Wenn Sie nicht der beabsichtigte Empfänger sind, informieren Sie bitte den Absender. Das unbefugte Kopieren oder Weiterleiten ist nicht gestattet. Wegen der Manipulierbarkeit von E-Mails übernehmen wir keine Haftung für den Inhalt. > > > > > PENSIONS-SICHERUNGS-VEREIN, Versicherungsverein auf Gegenseitigkeit > Vorsitzender des Aufsichtsrats: Dr. Dieter Hundt ∙ Vorstand: Martin Hoppenrath (Vors.), Dr. Hermann Peter Wohlleben > Registergericht: AG Köln Nr. HRB 6821 ∙ Sitz: Köln > > > > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |