Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   rufid.dll aus eigenem delphi anschprechen und nutzen (https://www.delphipraxis.net/61170-rufid-dll-aus-eigenem-delphi-anschprechen-und-nutzen.html)

SwordfishCenter 17. Jan 2006 19:26


rufid.dll aus eigenem delphi anschprechen und nutzen
 
hi zusammen
habe mal eine frage
und zwar wie kann ich die rufid.dll laden und nutzen?
schreibe an einem ISDN Anrufmonitor und möchte auch eine klicktel anbindung haben
so wie im "power ISDN monitor".
habe auch schon nach dem quellcode vom power isdn monitor v.3.3 gesucht. aber nicht :(

TKC 17. Jan 2006 22:28

Re: rufid.dll aus eigenem delphi anschprechen und nutzen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also danach hab ich mich schon mal Tot gesucht :zwinker:

Also helfe ich dir mal etwas weiter ....

SwordfishCenter 17. Jan 2006 22:32

Re: rufid.dll aus eigenem delphi anschprechen und nutzen
 
hey das ging ja schnell
lade gleich mal runter
danke :P

SwordfishCenter 17. Jan 2006 22:54

Re: rufid.dll aus eigenem delphi anschprechen und nutzen
 
genau das habe ich gesucht. echt super :thumb:

brauche jetzt nur noch die rufident.exe für klicktel herbst 2005
um die indexdatei zu erstelle.

die rufid.dll dafür habe ich heute schon gefunden.

kann mir damit vieleicht auch noch einer helfen

TKC 18. Jan 2006 00:18

Re: rufid.dll aus eigenem delphi anschprechen und nutzen
 
Diese Datei darf hiern nicht gepostet werden !!! :warn:


Das was du noch suchst ist KlickIdent !

SwordfishCenter 18. Jan 2006 09:19

Re: rufid.dll aus eigenem delphi anschprechen und nutzen
 
ups :oops:
mein fehler !!!!
habe schon in ordnung gebracht.
vieleicht hat ja einer eine link für den download wo man das prog nicht bezahlen mus :lol:

SwordfishCenter 20. Jan 2006 23:25

Re: rufid.dll aus eigenem delphi anschprechen und nutzen
 
danke ACE

shyd 8. Feb 2009 17:01

Re: rufid.dll aus eigenem delphi anschprechen und nutzen
 
Hi,
der Thread ist zwar schon uralt, trotzdem bin ich über die zip oben sehr dankbar!
Da ich mich mit delphi nicht wirklich auskenne möchte ich das Programm in C++ quasi nachschreiben und erweitern (in der Art von kewlident für Moony). Gibt es hier jemanden, der mir bei der Sache helfen kann?

Soweit ich das sehe gibt es nur zwei Aufrufe für die rufid.dll: UseVersion und SucheTelefonnummer, die kann ich in C++ auch ansprechen, allerdings weiß ich nicht was ich an die dll weitergeben muss, mein Programm stürzt nach dem Aufruf immer ab.
Wird mit UseVersion (1 oder 2) zwischen Netzwerk und Einzelplatz entschieden?
Wie funktioniert SucheTelefonnummer?

Wäre super wenn mir weitergeholfen werden kann :thumb:

Gruß

shyd 10. Feb 2009 20:48

Re: rufid.dll aus eigenem delphi anschprechen und nutzen
 
Nach diversen Testläufen und google-Suchen bin ich schon dichter an meinem Ziel. Die Funktion UseVersion rufe ich einfach mit einem integer auf.
Kann mir jetzt noch jemand sagen wie ich SucheTelefonnummer füttern muss und was diese dann zurückgibt? Ich habe versucht den Delphi-scr-code soweit zu verstehen, es hat aber nicht gereicht.
Wie ich das sehe, brauch die Funktion SucheTelefonnummer folgende Parameter:
1. ein char-array mit der Nummer, die ich suchen möchte,
2. eine Structure als output mit den gefundenen Daten
3. ein integer für eine Anzahl (dessen Sinn ich aber nicht verstehe)

Es wäre super wenn einer sich die Mühe machen kann um mir den delphi-code aus diesem Projekt näher zu bringen. :gruebel:

Gruß

PS: sry4doppelPost

StefanA 17. Jan 2012 08:32

AW: rufid.dll aus eigenem delphi anschprechen und nutzen
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz