AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein rufid.dll aus eigenem delphi anschprechen und nutzen
Thema durchsuchen
Ansicht
Themen-Optionen

rufid.dll aus eigenem delphi anschprechen und nutzen

Offene Frage von "StefanA"
Ein Thema von SwordfishCenter · begonnen am 17. Jan 2006 · letzter Beitrag vom 17. Jan 2012
 
StefanA

Registriert seit: 17. Jan 2012
2 Beiträge
 
Delphi 6 Professional
 
#10

AW: rufid.dll aus eigenem delphi anschprechen und nutzen

  Alt 17. Jan 2012, 08:32
Hallo zusammen,

versuche verzweifelt mit dem Beispiel von TKC die Rufid.dll anzusprechen. Aktuelle Klicktel und Rufident Software ist natürlich vorhanden.


Delphi-Quellcode:
unit ruflightu;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, DdeMan;

type
  TitelArray = Array[1..5] of Byte;

  PDLLEintrag = ^TDLLEintrag;
  TDLLEintrag = Packed Record
    Markiert : Boolean;

    Titel : TitelArray;

    Adel : Byte;
    NameVorsatz : Byte;
    NameZusatz : Byte;

    Geschlecht : Byte;
    Vorname : String[30];
    Anrede : String[10];
    Name : String[120];
    Zusatz : String[120];
    Ortsteil : String[40];
    Strasse : String[46];
    Hausnummer : String[10];
    HausnummerZusatz : String[20];
    Land : String[3];
    PLZ : String[5];
    Ort : String[70];
    Vorwahl : String[10];
    TelZusatz : String[15];
    Telefon : String[20];
  end;
  
  PDLLArray = ^TDLLArray;
  TDLLArray = Array[1..1] of TDLLEintrag;


  TUseVersion = procedure(V : Byte); stdcall;
  TSucheTelefonnummer = procedure( Nummer : PChar; var EintragListe : PDLLEintrag;
                                   var EintragAnzahl : LongInt ); stdcall;


  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    ListBox1: TListBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    procedure Button1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    DllHdl : THandle;
  public
    { Public-Deklarationen }
  end;


var
 Form1 : TForm1;

 DllHdl : THandle;
 FuncPtr : TFarProc;
 PSucheTelefonnummer : TSucheTelefonnummer;
 PUseVersion : TUseVersion;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
 EList : PDLLEintrag;
 ETemp : PDLLArray;
 ECount : LongInt;
 co : LongInt;
begin
  PSucheTelefonnummer( PChar( Edit1.Text ), EList, ECount );
  ETemp := PDLLArray( EList );

  for co := 1 to ECount do begin
   ListBox1.Items.Add( ETemp^[co].Name + #32 + ETemp^[co].Vorname + #32 +
                       ETemp^[co].Vorwahl + '-' + ETemp^[co].Telefon );
  end;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
  PUseVersion( 2 );
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
  PUseVersion( 1 );
end;

initialization
  DllHdl := 0;
  FuncPtr := Nil;

  DllHdl := LoadLibrary( 'rufid.dll' );
  if DllHdl = 0 then
   Halt;

  FuncPtr := GetProcAddress( DllHdl, 'SucheTelefonnummer' );
  if FuncPtr = nil then
    Halt
  else
   @PSucheTelefonnummer := FuncPtr;

  FuncPtr := GetProcAddress( DllHdl, 'UseVersion' );
  if FuncPtr = nil then
    Halt
  else
   @PUseVersion := FuncPtr;

end.
Bei PSucheTelefonnummer konnt dann ne Exception:

.. raised exception class EConvertError with message ''' ist kein gültiger Integerwert'. Process stopped. Use Step or Run to continue.

Was läuft hier falsch? Hat jemand ein funktionierendes Beispiel wie ich diese DLL mit Delphi ansprechen kann?

Vielen Dank schon mal
Stefan
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz