Thema: Delphi Api's von VB auf Delphi

Einzelnen Beitrag anzeigen

magicshadow

Registriert seit: 28. Apr 2003
85 Beiträge
 
#1

Api's von VB auf Delphi

  Alt 2. Mai 2003, 17:42
Kann mir jemand beim Umschreiben von 2 Apifunktionen helfen?
Ich möchte:
Code:
Private Declare Function RasEnumConnections Lib "RasApi32.DLL" _
        Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As _
        Long, lpcConnections As Long) As Long
       
Private Declare Function RasGetConnectionStatistics Lib _
        "RasApi32.DLL" (ByVal hRasConn As Long, lpStatistics _
        As RASSTATS2000) As Long
in delphi nutzen.

mein Versuch war:

Code:
Function RasGetConnectionStatistics(hRasConn:Longint;
         var lpStatistics:RASSTATS2000):longint; stdcall; external 'RasApi32.DLL'

Function RasEnumConnectionsA(lpRasCon:RASType; lpcb:Longint;
         lpcConnections:Longint):longint; stdcall; external 'RasApi32.DLL'
leider scheint da ein kleiner deklarationsfehler zu sitzen. Der anschließende Aufruf bringt irgendwie nicht das Result, was unter VB erwartet wird.

Miene Procedur:
Code:
procedure TForm1.Timer1Timer(Sender: TObject);
var RAS:array[0..255] of RASType;
    RASStatus:RASStatusType;
    lg,lpcon,Result:longint;
    myStats:RASSTATS2000;
    rtn:Longint;
    tmp:longint;
begin
     lpcon:=0;
     lg:=0;
     RAS[0].dwSize:= 412;
     lg:= 256 * RAS[0].dwSize;
     tmp:= RasEnumConnectionsA(RAS[0], lg, lpcon);
     showmessage(inttostr(lpcon));
     myStats.dwSize:= SizeOf(myStats);
     rtn:= RasGetConnectionStatistics(RAS[0].hRasCon, myStats);
     edit1.text:=inttostr(myStats.dwBytesXmited);
     edit2.text:=inttostr(mystats.dwBytesRcved);
end;
Diese Procedur sollte eigentlich die gesendeten und empfangenen bytes einer Win2k DFÜ Verbindung auf Edit1 und edit2 setzen, leider bleiben diese Variablen bei 0.

Bin für jeden Hinweis dankbar!
  Mit Zitat antworten Zitat