Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Tapi 32.dll (https://www.delphipraxis.net/174949-tapi-32-dll.html)

Alterauge 21. Mai 2013 10:19

Tapi 32.dll
 
Hallo,
das Telefon wird angesprochen!
Es wird aber nur eine '0' übermittelt, und nicht die ganze Nummer! Wieso?

Delphi-Quellcode:
{$R *.dfm}

function tapiRequestMakeCall(DestAddress, AppName,
CalledParty, Comment: PChar): LongInt; stdcall; external 'TAPI32.DLL';

procedure TForm3.AdvGlowButton1Click(Sender: TObject);
begin
 Form3.Close;
end;

procedure TForm3.AdvGlowButton2Click(Sender: TObject);
var
  PhoneNumber, AppName: array[0..255] of Char;
  i: integer;
begin
  PhoneNumber := '0017123456789';
  StrPCopy(AppName, Application.Title);
  tapiRequestMakeCall(PhoneNumber, AppName, '', '');
  if i < 0 then
ShowMessage('es ist ein Fehler aufgetreten - Abbruch des Wählvorganges!');
end;

Bernhard Geyer 21. Mai 2013 10:24

AW: Tapi 32.dll
 
Ich Tipp darauf das die API hier nur ANSI-Strings erwartet

Delphi-Quellcode:
function tapiRequestMakeCall(DestAddress, AppName,
CalledParty, Comment: PAnsiChar): LongInt; stdcall; external 'TAPI32.DLL';

DeddyH 21. Mai 2013 10:34

AW: Tapi 32.dll
 
Welchem Typ entspricht denn LPCSTR? Ich kann mir das nie merken.

Bernhard Geyer 21. Mai 2013 10:36

AW: Tapi 32.dll
 
Zitat:

Zitat von DeddyH (Beitrag 1215895)
Welchem Typ entspricht denn LPCSTR? Ich kann mir das nie merken.

http://msdn.microsoft.com/en-us/library/cc230350.aspx

DeddyH 21. Mai 2013 10:41

AW: Tapi 32.dll
 
Dann fragt man sich aber doch, wieso es tapiRequestMakeCallA und tapiRequestMakeCallW gibt, wenn beide Ansi-Parameter entgegennehmen :gruebel:
Anyway, ich würde es so versuchen:
Delphi-Quellcode:
function tapiRequestMakeCall(DestAddress, AppName,
CalledParty, Comment: PAnsiChar): LongInt; stdcall; external 'TAPI32.DLL';

procedure TForm3.AdvGlowButton1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm3.AdvGlowButton2Click(Sender: TObject);
var
  PhoneNumber, AppName: AnsiString;
  i: integer;
begin
  PhoneNumber := '0017123456789';
  AppName := Application.Title;
  i := tapiRequestMakeCall(PAnsiChar(PhoneNumber), PAnsiChar(AppName), '', '');
  if i < 0 then
    ShowMessage('es ist ein Fehler aufgetreten - Abbruch des Wählvorganges!');
end;

Der schöne Günther 21. Mai 2013 10:44

AW: Tapi 32.dll
 
Ignoriere mich

Alterauge 21. Mai 2013 11:00

AW: Tapi 32.dll
 
Hallo DeddyH,

Richtig so geht es!
Danke für Deine schnelle Hilfe! :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr.

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