/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Kald at DLL skrevet i dalphi fra VB.
Fra : Uffe Safeldt


Dato : 27-11-00 22:11

Jeg har prøvet at poste samme indlæg i VB uden større held, nu prøver jeg
ekspertpanelet her....



Jeg har til en bekendt skrevet en DLL i Delphi som skal bruges til at
tilgå nogle I/O-kort fra Danbit.

DLL'en har jeg testet fra Delphi og den virker fint. Jeg mangler nu kun
at finde ud af den korrekte syntax når min DLL skal kaldes inden fra VB
som jeg ikke har nogen erfaring med.

Jeg har fulgt Kirby Turner's ”Tips on Developing DLLs for Visual Basic,
Part 1” som dog lader mig lidt i tvivl med hensyn til ovennævnte.

ER der en venlig sjæl der vil vise mig syntax når min DLL'en skal kaldes
fra VB ?

På forhånd tak.
Uffe Safeldt

DLL erklæringer i delphi hvor jeg skal bruge den tilsvarende i VB:

procedure ReadPort7225(B:word; var D:byte); stdcall; external
'danbit.dll';
function GetInput7225(B:integer; D:byte):boolean;stdcall; external
'danbit.dll';
procedure SetRelay7225(B:integer; D:byte);stdcall; external 'danbit.dll';
procedure ClrRelay7225(B:integer; D:byte);stdcall; external 'danbit.dll';
procedure InitRelay7225(B:integer);stdcall; external 'danbit.dll';
function GetRelay7225(D:byte):boolean;stdcall; external 'danbit.dll';


Procedure og functionskald delphi hvor jeg skal bruge den tilsvarende i
VB:

ReadPort7225($303,MyByte);
MyBoolean := GetInput7225($300,0);
SetRelay7225($300,15)
ClrRelay7225($300,15);
InitRelay7225($300);
MyBoolean := GetRelay7225(0);









 
 
Uffe Kousgaard (27-11-2000)
Kommentar
Fra : Uffe Kousgaard


Dato : 27-11-00 23:59

Hej

Jeg har ikke lige erfaringer med VB, men derimod med mapbasic, som er en
basic-variant til GIS. I Delphi ser min procedure f.eks. således ud:

procedure SetCostDist(costdist: double); stdcall;

Og den deklareres således i mapbasic:

Declare Sub SetCostDist Lib "rwnet.dll" (Byval costdist as float)

Dit problem kan f.eks. ligge i byte? Er denne datatype understøttet i VB ?
Ligeledes med boolean ?
Hvis man i Delphi bruger var parametre, skal man ikke skrive noget i basic.
Er det en normal parameter, skal man i basic skrive "byval".
Husk at skrive navnet på proceduren/funktionen med stort/småt nøjagtig magen
til, ellers....


Hilsen

Uffe Kousgaard
www.routeware.dk




Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste