🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #273

Interop

#273
From: Krzysztof
Date: Wed, 03 Dec 2003 12:46
31 lines
1938 bytes
Hi all
pytanie jest konkretnie o mapowanie wywpolan funkcji z DLL napisanego w
VS6.0 (C++)

mam deklaracje metody (funkcji, procedury, cholera jak to nazwac?)
typedef (__stdcall *ExecuteTaskFromXML)( const string& input, string&
output, DWORD& dwSize, LPVOID& pCtx );

string to oczywiscie std::string

prubuje importowac to za pomoca deklaracji:
[DllImport("ExportDll.dll")]
public static extern void ExecuteTaskFromXML(String input, ref String
output, int dwSize, int pCtx);

i dostaje piekny blad NullReference... Oczywiscie "stara" dll-ka nie moze
soibie poradzic z tworzeniem obiektu String output...

Jak to obejsc?
grzebie po dokumentacji i znalazlem opisy (Default Marshaling for Arrays),
ktory posrednio mowi o tym jak mapowac tablice. std::string -> char[] wiec
moze to o to chodzi? przyznam ze deklaracja typu :
([MarshalAs(UnmanagedType. SafeArray, SafeArraySubType=VT_I4)]  char[]
output
... jest lekko odpychajaca, by nie powiedziec wiecej...

Czy ktos z was z tym walczyl?
pozdrawiam
Krzysztof

PS. pytanie poszlo rowniez na grupe "anglojezyczna" ...
Technical Details
Message-ID: <bqkluu$8sg$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.tpinternet.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.tpinternet.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: "Krzysztof" <kkdi...@poczta.onet.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Interop
Date: Wed, 3 Dec 2003 13:46:52 +0100
Organization: news.onet.pl
Lines: 35
Sender: kkdiesel@poczta.onet.pl@194.146.120.27
Message-ID: <bqkluu$8sg$1@news.onet.pl>
NNTP-Posting-Host: 194.146.120.27
X-Trace: news.onet.pl 1070455582 9104 194.146.120.27 (3 Dec 2003 12:46:22 GMT)
X-Complaints-To: ab...@onet.pl
NNTP-Posting-Date: 3 Dec 2003 12:46:22 GMT
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit