/ 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 til DLL
Fra : Ulrik Vadstrup


Dato : 01-05-04 16:16

Jeg har aldrig rodet med DLL før, men har nu fået en aktuelt problem.
Jeg har fået en excel fil, som bruger den DLL, jeg også har importeret
i D7.
I Excel ser koden ud som følgende:

Public Sub StartComm()

On Error Resume Next

' Zuweisung der einzelnen Objekte
Set oTask = New RainbowState
Set oSapro = New RainbowSrv
Set oLoad = New RainbowLoader
Set oOBJH = New RainbowObjHandler
'Set oServerIP = New RAINBOWIPLib.RainbowSrv

Dim InterfaceTyp As Variant

InterfaceTyp = Interface
'Definierung der Schnittstelle
'oSapro.Conf.SetInterfaceType InterfaceTyp ' Interface
If InterfaceTyp = "RainbowSerSrv.CommModule01" Or InterfaceTyp =
"RainbowSerSrv.CommModule02" Then
oSapro.Conf.SetInterfaceType InterfaceTyp
oSapro.Conf.SetInterfacePar "57600,8,2,N,1" 'Physikalische
eigenschaften
oSapro.Conf.SetTargetType ControllerType
oTask.SetInterface oSapro
oLoad.SetInterface oSapro
oOBJH.SetInterface oSapro
'oServerIP.SetInterface oSapro
End If
----------------------------------------

Det er RainbowSrv jeg skal have fat i, og starte med at sætte
kommunikationen op.
Linien se sådan ud i excel :

oSapro.Conf.SetInterfaceType InterfaceTyp

I delphi placerer jeg den "komponent" jeg har importeret, og skriver

RainbowSrv1.conf.

Efter dette kan jeg ikke få "SetInterface" funktionen frem, og når jeg
skriver det manuelt giver Delphi fejl ved compilering.

Når jeg åbner den TLB fil, jeg har fået lavet efter import, ser jeg
bla.
følgende :

// *********************************************************************//
// Interface: ISaproSerSrv
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {EA302EDD-8768-11D2-8E33-006008727C0A}
// *********************************************************************//
ISaproSerSrv = interface(IDispatch)
['{EA302EDD-8768-11D2-8E33-006008727C0A}']
procedure GetVersion(var Version: OleVariant); safecall;
procedure GetMajorVersion(var Number: OleVariant); safecall;
procedure GetMinorVersion(var Number: OleVariant); safecall;
function Get_Conf: IDispatch; safecall;
property Conf: IDispatch read Get_Conf;
end;


~En masse andet kode~


// *********************************************************************//
// Interface: ISaproConf
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {3155D9F0-8463-11D2-83A2-00600872723B}
// *********************************************************************//
ISaproConf = interface(IDispatch)
['{3155D9F0-8463-11D2-83A2-00600872723B}']
procedure SetInterfaceType(const InterfaceType: WideString);
safecall;
procedure SetInterfacePar(const InterfacePar: WideString);
safecall;
procedure GetInterfaceType(var Value: OleVariant); safecall;
procedure GetInterfacePar(var Value: OleVariant); safecall;
procedure SetTargetType(Value: Integer); safecall;
procedure GetTargetType(var Value: OleVariant); safecall;
end;

// *********************************************************************//
// DispIntf: ISaproConfDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {3155D9F0-8463-11D2-83A2-00600872723B}
// *********************************************************************//
ISaproConfDisp = dispinterface
['{3155D9F0-8463-11D2-83A2-00600872723B}']
procedure SetInterfaceType(const InterfaceType: WideString);
dispid 1;
procedure SetInterfacePar(const InterfacePar: WideString); dispid
2;
procedure GetInterfaceType(var Value: OleVariant); dispid 3;
procedure GetInterfacePar(var Value: OleVariant); dispid 4;
procedure SetTargetType(Value: Integer); dispid 5;
procedure GetTargetType(var Value: OleVariant); dispid 6;
end;


Nogen genier der kan gennemskue hvor jeg går galt i byen ?

Med venlig hilsen

Ulrik

 
 
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste