Istnieje kilka opcji:
Możliwe jest tworzenie i narazić klasy .NET w zespole jako kontrolą (COM międzyoperacyjne) tak, że jest użyteczny w Delphi.
Delphi był przez jakiś czas .Net (ale nie była to najjaśniejsza godzina Delphi), więc w Delphi 2006 można na przykład używać Delphi jako języka .Net. Jednak tak samo, jeśli nie bardziej, jakakolwiek inna zmiana wersji Delphi, istnieją niekompatybilności ze starszym kodem źródłowym.
EDIT Aby zrobić pierwszy sposób, będziemy chcieli, aby utworzyć zespół z klas/funkcji potrzebnych w języku .NET i skompilować. Powinieneś skończyć z DLL.
W Delphi, w menu Składnik, wybierz Importuj komponent (powinien znajdować się poniżej pakietów instalacyjnych). Dostaniesz kreatora, który powinien mieć 3 opcje radia
- Rodzaj importu biblioteki kontrola
- importu ActiveX
- importu .NET Assembly
Wybierz trzeci, a zobaczysz listę globalnie zarejestrowanych zespołów. Ponieważ twoje złożenie jest po prostu anonimową biblioteką DLL, kliknij Dodaj u dołu i w otwartym oknie dialogowym wybierz bibliotekę DLL.
Na następnej stronie zostaniesz poproszony o podanie informacji o palecie. Tutaj masz wybór - określ folder projektów i pozostaw niezaznaczone pole wyboru "Generuj obkładki składników", aby dodać zespół tylko do projektu. Innym wyborem jest umieszczenie go w lib lub innym folderze globalnym i sprawdzenie opcji opakowania, która doda ją do palety narzędzi dla wszystkich projektów.
Ostatni ekran zapyta, czy chcesz go dodać do bieżącego projektu (zależy od tego, czy dodajesz go globalnie, czy tylko do jednego projektu).
Po zakończeniu wszystko powinno być w stanie utworzyć instancje klasy .NET w Delphi z mniej więcej tak:
var MyCSharpClassInstance: TMyCSharpClassProvider;
begin
MyCSharpClassInstance:=CoTMyCSharpClassProvider.Create;
…
MyCSharpClassInstance.Free;
End
+1 dla .NET przez COM. Nie jest to takie trudne do skonfigurowania i działa dobrze w przypadku nie wizualnej funkcjonalności (lub samodzielnych formularzy). Do wizualnych wtyczek wbudowanych będziesz chciał użyć Hydry. – skamradt