activex nesnesini prosedür içinde kullanma

Başlatan fryrmnd, 02 Ekim 2012, 09:51:06

fryrmnd

Kolay gelsin arkadaşlar.

delphi7 ile yazılmış bir programa ekleme yapmam lazım. elimde bir kamera kontrolü için üreticini sağladığı activex nesnesi var. bunun fonksiyonlarını butonclick tarzı prosedürler ile kullanılıyor. Yalnız kendim prosedür oluşturup herseferinde butonlarda veye çağırmam gereken yerde aynı kodları yazmayayım dedim. Ama beceremedim.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, [u]IPROPSAPILib_TLB[/u];

type
  TForm1 = class(TForm)
   [u] ipropsapiCtrl1: TipropsapiCtrl[/u];
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure kameracontrol(Ipadresi:AnsiString; Cozunurluk:Integer);
begin
[b] ipropsapiCtrl1.IPAddr:=Ipadresi;[/b]  (burayı yazmaya çalışırken 'unable to invoke code completion due to errors in source unit' şeklinde hata veriyor. zorla yazınca da zaten run edince hata veriyor)
end;

end.


kod bu. delphiyi çok bilmiyorum. prosedür oluşturma mantığımda mı hata var?

t2

#1
ipropsapiCtrl1.IPAddr  ile    Ipadresi türleri farklı.
biri string biri ansistring veya başka bir tür olabilir. Bu yüzden eşitlenemiyor. Daha yazarken hata çıkıyor.

Prosedürü kendiniz oluştururken Ipadresi  tipini yanlış ayarlamışsınız.

fryrmnd

#2
t2 hocam pdf inden direk alıntı

5.2.2.2.  IPAddr 

Object             PSAPI Control 
Property           IPAddr 

BSTR        IPAddr 

Description 
Set IP Address or host name of a target device into PS-API. 
Get IP Address or host name of a target device from PS-API. 

Value 
                         Character strings              IP Address or host name 
                         (255bytes or less)             e.g. 192.168.0.10 

                                                        Default value is "192.168.0.10". 

Return value 
           None 

Error 

© Panasonic System Networks Co., Ltd. 2012


anladığım string.  String türünde de tanımlayınca hata veriyor.  düzeltme : yukardakiler özelliğin açıklaması.


şu şekil kullanımda sıkıntı vermedi.

implementation

{$R *.dfm}

var
M_PlayStatus:integer;

procedure TForm1.FormCreate(Sender: TObject);

var
Open_Donen,Kanal,Mode:integer;

begin
ipropsapiCtrl1.IPAddr:='10.10.0.193';
ipropsapiCtrl1.DeviceType:=2;
ipropsapiCtrl1.HttpPort:=80;
ipropsapiCtrl1.UserName:='admin';
ipropsapiCtrl1.Password:='12345';

ipropsapiCtrl1.StreamFormat:=0;
ipropsapiCtrl1.JPEGResolution:=640;
ipropsapiCtrl1.MPEG4Resolution:=640;
ipropsapiCtrl1.H264Resolution:=640;

ipropsapiCtrl1.OnErrorEnable:=1;
ipropsapiCtrl1.OnPlayStatusEnable:=1;
ipropsapiCtrl1.OnOpStatusEnable:=1;
.
.
.


mesaj birleştirme:: 02 Ekim 2012, 20:01:07

buton ekleyip buton click prosedürüne yazıyorum hata vermiyor. parametresiz prosedür yazmak istiyorum gene hata verdi.  :(