Import funkcji z biblioteki DLL napiasnej w C#

0

Witam,
używam Delphi 7 i usiłuję zaimportować kilka funkcji z biblioteki DLL napisanej w C#. Próbowałem zaimportować funkcje statycznie i dynamicznie ale nic z tego nie wyszło. Sprawdziłem bibliotekę TDUMPem i okazuje się, że nic nie eksportuje. Dodam, że nie mam dostępu do kodu tej DLLki a jedynie wiem jakie zawiera funkcje. Jakieś pomysły?

Pozdrawiam

0

A jesteś pewny, że aplikacja napisana w Delphi 7 może obsłużyć bibliotekę z .Net?

0

może nie użyłeś stdcall itp u mnie to było problemem ;]

2

Nic nie eksportuje, bo biblioteka .NET nie jest zwykłą biblioteką natywną, mają zupełnie inne metadane, już nie mówiąc o zupełnie niekompatybilnych typach.

Można oczywiście użyć biblioteki .NET w natywnym kodzie (czy to Delphi, czy to C/C++). A czy będzie to proste to już zależy od tego w jaki sposób została napisana biblioteka. Jeżeli została napisana z myślą, że faktycznie ktoś będzie jej używał spod natywnego kodu, tj. umożliwił jej zarejestrowanie jako COM, upublicznił odpowiednie interfejsy to wystarczy ją zarejestrować jako COM i użyć aplikacji regasm (z Visual Studio), żeby wyeksportować plik .tlb i dalej to już zależy od twojego środowiska (na pewno .tlb można w Delphi zaimportować).
Natomiast, jeżeli biblioteka to po prostu publiczne klasy, które mogą być użyte tylko w .NET, to musisz napisać wrapper w C++/CLI, który w jakiś sposób udostępni ci odpowiedni interfejs (czy to znowu poprzez COM, czy przez zwykłe eksporty, to twój wybór).

0

Program rozwiązany. Dodam jeszcze od siebie link:
.NET a COM
Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1