Einzelnen Beitrag anzeigen

Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#1

Übersetzung eines VB-Codes nach Delphi - RasApi32.dll

  Alt 30. Mär 2004, 14:32
Hallo,

ich bräuchte mal Hilfe bei einer Übersetzung. Ich habe diesen Quellcode von www.activevb.de und würde gern
ihn in Delphi nutzen. Ich hab aber keinerlei Ahnung bei der Übersetzung.

Quelltext:

Code:
Option Explicit

Private Declare Function RasEnumEntries Lib "RasApi32.DLL" _
        Alias "RasEnumEntriesA" (ByVal reserved As String, ByVal _
        lpszPhonebook As String, lprasentryname As Long, lpcb As Long, _
        lpcEntries As Long) As Long
       
Const RAS95_MaxEntryName = 256

Private Type RASENTRYNAME95
  dwSize As Long
  szEntryName(RAS95_MaxEntryName) As Byte
End Type


Private Sub Form_Load()
    Dim S As Long, LN As Long
    Dim X As Integer
    Dim ConName As String
    Dim R(255) As RASENTRYNAME95
   
    R(0).dwSize = 264
    S = 256 * R(0).dwSize
    Call RasEnumEntries(vbNullString, vbNullString, VarPtr(R(0)), S, LN)
       
    For X = 0 To LN - 1
        ConName = StrConv(R(X).szEntryName(), vbUnicode)
        List1.AddItem Left$(ConName, InStr(ConName, vbNullChar) - 1)
    Next X
etwas hab ich schon:

Delphi-Quellcode:
type
  TRasEnumEntries = function( reserved:String;_lpszPhonebook:String; lprasentryname:LongWord; lpcb:LongWord;
                              _lpcEntries:LongWord):LongWord;

procedure TForm1.Button1Click(Sender: TObject);
var hDll:THandle;
     dwError:DWord;
begin
  result:=False;
  hDLL:=LoadLibrary(PCHar('RasApi32.DLL'));
  If hDLL<>0 then
  begin
   RasEnumEntries:= GetProcAddress(hDLL, 'RasEnumEntriesA');
   If Assigned(RasEnumEntries)
   then
     RasEnumEntries()
   else
    ShowMessage('DLL-Funktion nicht gefunden');
   FreeLibrary(hDLL);
  end
  Else
   begin
     dwError:=GetLastError;
     ShowMessage('Fehler: '+IntToStr(dwError));
   end;
end;
nur bei dem Typ RASENTRYNAME95 ist bei der 2. Zeile Schluss.
Vielleicht gibt es ja hier Spezialisten dafür.
  Mit Zitat antworten Zitat