🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.lang.csharp
2 messages
2 total messages Started by Krzysztof Fri, 21 Nov 2003 14:35
DLL - podejscie drugie
#223
Author: Krzysztof
Date: Fri, 21 Nov 2003 14:35
25 lines
1938 bytes
hm, nie che byc przyczna wasni na grupie...
ja rowniez pisze w C# od 1,5 roku, ale nie uwazam sie nawet za obeznanego z
caloscia, znam wyrywki doglebnie a niektore obszary to dla mnie biale karty
na przyklad wspolpraca C# i DLL
Konkretnie (obecnie) chodzi mi sutuacaje nastepujaca:
mam biblioteke dll (klasyczna C++) i definicje funkcji:
typedef (__stdcall *JaksFunkcja)(            string& input, string& output);

wiem ze q2 jest parametrem zwrotnym. Jakich typow danych uzyc w
reprezentacji C#?
[DllImport("Jakis.dll")]
public static extern void JaksFunkcja(String input, ref String output);

i dostaje piekny wyjatek zwiazany oczywiscie z typem string (null pointered
w C++)

i poprzednio chodzilo mi o mozliwosc pisdania w druga strone, to znaczy jak
zadeklarowac w C# metody statyczne (moze w klasie statycznej???) dostepne z
poniomu kodu C++ (6.0). Obecnie po buszowaniu w inecie wiem juz ze jest to
raczej niemozliwe ze wzgledu na przyjete zalozenia CLR+GAC... ale moze jest
jakis kruczek?
nie chce pisac tych DLL w C++... :(

pozdrawiam
Krzysztof
Re: DLL - podejscie drugie
#224
Author: Pawel Zabza
Date: Sat, 22 Nov 2003 19:13
32 lines
2430 bytes
Witam,
Krzysztof wrote:

> mam biblioteke dll (klasyczna C++) i definicje funkcji:
> typedef (__stdcall *JaksFunkcja)(            string& input, string& output);
> 
> wiem ze q2 jest parametrem zwrotnym. Jakich typow danych uzyc w
> reprezentacji C#?

Nie wiem o jakim "q2" piszesz.  Co do typu w C#, to zalezy od tego co to 
jest ten "string" w C++; przy powyzszej definicji oba parametry sa 
przekazywane przez referencje.  Cos tez napisales o "null reference" 
(zdazylem wyciac =) - czy to jest blad wyskakujacy w trakcie dzialania? 
    Bo to moze tez chodzic o roznice miedzy & i * w kontekscie 
parametrow, z tym ze po ew. usunieciu tego "problemu" wracamy do 
poprzednich.

[...]
> i poprzednio chodzilo mi o mozliwosc pisdania w druga strone, to znaczy jak
> zadeklarowac w C# metody statyczne (moze w klasie statycznej???) dostepne z
> poniomu kodu C++ (6.0). Obecnie po buszowaniu w inecie wiem juz ze jest to
> raczej niemozliwe ze wzgledu na przyjete zalozenia CLR+GAC... ale moze jest
> jakis kruczek?

CLR+GAC??  W ogolnosci mozna pisac w .NET DLLe eksportujace funkcje, 
takze jesli kod jest managed - w C++, ew. bezposrednio w IL.  To tylko 
C# (i VB) na to nie pozwalaja.
No i oczywiscie (jak tu juz wspomniano) jesli klient nie ma obiekcji do 
uzywania COMa, to sprawa sie ew. upraszcza - przynajmniej od strony C#.

Pozdrawiam,
Pawel
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads