Article View: alt.pl.comp.lang.csharp
Article #273Interop
From: Krzysztof
Date: Wed, 03 Dec 2003 12:46
Date: Wed, 03 Dec 2003 12:46
31 lines
1938 bytes
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-mailShow 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