[ Ilija Studen @ 17.09.2002. 06:07 ] @
Citat:
Unable to create process: a device attached to the system is not functioning.


Napravio sam DLL sa 10 - 15 funkcije. Sve je savrseno radilo dok nisam probao da ga povezem sa objektom. Prvo sam pokusao da funkcije deklarisem u objektu glavne forme aplikacije koju koristim za testiranje, ali mi je prijavio ovu gore poruku. Onda sam probao da napravim komponentu (da se ne bih smarao sa deklarisanjem funckcija svaki put kad mi trebaju). Kada sam testirao komponentu opet mi je prijavio istu gresku.

Sta sam uradio:

sve funkcije su deklarisane kao external i navedeno je ime DLL-a
DLL se nalazi direktorujumu u kome treba da se nadje EXE programa
posto taj DLL radi sa stringovima, a nisam hteo da se smaram sa PChar ukljucio sam i borlnd.dll (u direktorujum u kome se nalazi moj DLL).

Ima li neko ideju u cemu je problem?
[ -zombie- @ 18.09.2002. 04:24 ] @
koliko se ja razumem, objekti i dll-ovi ne idu jedno sa drugim (ili bar ne na ovaj nacin na koji si ti opisao)...

deklaracija za export i import procedure ne sme da bude method neke klase/objekta!

ovo znaci da kada exportujesh funkciju, kod mora da lici na ovo
Code:

library MaxUnit;

function Max(X, Y: Integer): Integer; stdcall;

begin
  if X > Y then Max := X else Max := Y;
end;

exports

  Max;

begin

end.


dakle, funkcija koju exportujesh ne sme da bude deo neke klase.

slicno, kada importujesh funkciju, kod mora da lici na ovo:
Code:

function Max(X, Y: Integer): Integer; external 'MaxUnit.dll';


i ovo takodje ne sme biti u sred definicije neke klase!
[ silverglider @ 18.09.2002. 15:10 ] @
Ako si vec "zaboravio" na PChar i koristis stringove, te mislis da pruzis podrsku samo za ObjectPascal (pogotovo kroz komponente), onda nemoj da pravis dll-ove, neko bpl-ove, tj. package fajlove. Pogledaj u uputstvu koje su razlike u "moci" izmedju bpl-ova i dll-ova, samo po cenu kompatibilnosti/otvorenosti sa drugim jezicima.

[ Riste Pejov @ 18.09.2002. 19:21 ] @
Ako zelis da DLL koristis u neku klasi ili komponentu,
onda da ucitaj dinamicki sa

LoadLibrary i FreeLibrary

da ne pisem ogromne postove evo pogledaj ovo:

http://info.borland.com/techpu...phi/delphi5/oplg/dllpackg.html
[ Ilija Studen @ 18.09.2002. 20:34 ] @
Problem kod paketa je u tome sto nakon updatea moram prekompajlirati sve programe koji ga koriste.

To sto pravim je neka vrsta recnika (pa dobro, i nije, ali je slicno). Lakse mi je poslati korisniku nadogradjen dll nego ga cimati da skida novu verziju kad god ja dodam pet reci.

Zato ne koristim paket.

Hvala...
[ Riste Pejov @ 19.09.2002. 14:53 ] @
Ako sam te dobro razumeo ... onda tebi treba plugin arhitektura za
DLL-ove. Nesto vise o tome mozes naci u C++Builder 5 Developers Guide,
nazalost ne znam gde na netu da to potrazis, ali probaj sa google