DLLele i jezyki

0

Moj problem wyglada tak:
Chce pisac z kumplem program. Ja pod Delphi on pod C++ i tu dochodzi do pytania jak to polaczyc ? Wpadlem na pomysl, ze ja napisze Maina, a on DLL do tego. I teraz moje pytanie: Czy DLL pisane dla aplikacji pod Delphi musza byc pisane <ort>rownierz</ort> pod Delphi czy moge byc napisane w innym jezyku programowania ? [???]

0

Za starych, dobrych czasów, kiedy w naszej pamięci rysował się jeszcze obraz ZX Spectrum żądza wiedzy kazała pasjonatom-programistą, bardziej lub mniej zaawansowanym pisanie w takich sytuacjach krótkego maina i krótką bibliotekę .dll i testowali sobie do woli. Ehhh... ciemna strono forów dyskusyjnych. Możecie spokojnie pisać swoje deelelki.

0

Śmiało można pisać lecz jeśli robicie to w różnych językach, to poczytaj o sposobie przekazywania parametrów na stos (stdcall, cd.(cośtam)., )

0

Mały szczegół: warto w bibliotekach DLL "przenośnych" nie używać typów danych specyficznych dla Delphi, oraz nie używać typu string. Zamiast niego lepiej jest stosować PChar.

0

No wiec ja sie przylacze do postu :P Wiem ze mozna w C++ pisac DLL pod Dlphi ale czy z pod Delphi da sie napisac DLL z ktorej korzystalby C++ ?? :>

0
{PIT} napisał(a)

(...)ale czy z pod Delphi da sie napisac DLL z ktorej korzystalby C++ ?? :>
A dlaczego nie miałoby się dać?

0

To jest mozliwe pod warunkiem ze z dll-a nie beda eksportowane klasy, a zadna z eksportowanych funkcji nie bedzie zwracac ani pobierac jako argumentu typu danych specyficznego dla Visual C++.
I odwrotnie, jezeli ktos by chcial uzywac w vc++ bibliotek napisanych w Delphi, to funkcje eksportowane nie moga zwracac ani pobierac jako argumentow zadnych typow danych specyficzynych dla Delphi.
Natomiast wewnatrz biblioteki mozna stosowac wszystkie typy danych i klasy, wazne jest tylko zeby ich nie eksportowac.

0

Powiadacie, żeby w dll'kach nie używać stringów.
Mam bibliotekę, która zawiera funkcję o takim wyglądzie:

Funkcja(Input: string): string;

Nie działa to i nie mogłem dojść dlaczego. Jeśli tą funkcję wklepałem do kodu głównego programu to wszystko jest ok. Tylko z biblioteki nie trawi.
Czy trzeba użyć PChar? Potrzebny będzie pointer?

0

zmieniasz na PChar te stringi, przeciez pisali wyraznie

0
Pociech napisał(a)

Czy trzeba użyć PChar? Potrzebny będzie pointer?

A string i PChar to co innego jak nie wskaźniki właśnie? Ew. na 1. miejscu listy uses biblioteki wrzuć ShareMem, ale wtedy do działania potrzebował będziesz pliku Borlndmm.dll.

0

Borlndmm.dll

Ten plik będzie potrzebny tylko przy kompilacji czy użytkownik na innym kompie musi też go mieć?

0

O ile pamiętam to niestety także zewnętrzny użytkownik musi go mieć.

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