ActiveX Dll içindeki Olayların kullanımı ?

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
Hero
Üye
Mesajlar: 2
Kayıt: 08 Nis 2005 11:02

ActiveX Dll içindeki Olayların kullanımı ?

Mesaj gönderen Hero »

Merhaba,

Elimde VB' de yazılmış bir Dll mevcut ve import edip pas dosyasını elde ettim. Dll içindeki 2 tane olayı kullanmam gerekiyor. Dll içindeki sınıfın özelliklerini foksiyonları ve prosedürleri kullanabiliyorum. Bu işlemleri yaparken oluşan hataları kontrol etmem için 2 tane olayı kullanmam (HataOlustu ve IslemBasladi Olayları) gerekiyor. Fakat bu 2 olay sınıfa bağlı bir interface olarak değil farklı bir interface olarak gözüküyor.

Yardımlarınız için teşekkürler..

Kaynak Kodu :
********************************************************
uses Windows, ActiveX, Classes, Graphics, OleServer, StdVCL, Variants, Forms,
Controls ;

const
// TypeLibrary Major and minor versions
DenemeMajorVersion = 1;
DenemeMinorVersion = 0;

LIBID_Deneme: TGUID = '{A4BEAE33-EA42-4166-864E-30D89F7227FA}';

IID__clsGorevIslemleri: TGUID = '{D503698E-216B-4E09-B90C-FD5033A0EB97}';
DIID___clsGorevIslemleri: TGUID = '{77A4D1C9-F454-4348-B07A-BFF5BEC78FEB}';
CLASS_clsGorevIslemleri: TGUID = '{CB768BEB-6409-4829-833C-98B8C85E56FC}';
type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary
// *********************************************************************//
_clsGorevIslemleri = interface;
_clsGorevIslemleriDisp = dispinterface;
__clsGorevIslemleri = dispinterface;

// *********************************************************************//
// Declaration of CoClasses defined in Type Library
// (NOTE: Here we map each CoClass to its Default Interface)
// *********************************************************************//
clsGorevIslemleri = _clsGorevIslemleri;


// *********************************************************************//
// Interface: _clsGorevIslemleri
// Flags: (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID: {D503698E-216B-4E09-B90C-FD5033A0EB97}
// *********************************************************************//
_clsGorevIslemleri = interface(IDispatch)
['{D503698E-216B-4E09-B90C-FD5033A0EB97}']
function IslemeBasla(var Islem: WideString): Smallint; safecall;
function SonrakiOlay: OleVariant; safecall;
function Get_OlaySira: WideString; safecall;
procedure Set_OlaySira(const Param1: WideString); safecall;
function Get_GorevKartNo: OleVariant; safecall;
procedure Set_GorevKartNo(Param1: OleVariant); safecall;
function Get_GorevIslemNo: OleVariant; safecall;
procedure Set_GorevIslemNo(Param1: OleVariant); safecall;
property OlayGorevIslemNo: WideString read Get_OlayGorevIslemNo;
property OlayKimlikKartNo: WideString read Get_OlayKimlikKartNo;
property VeritabaniKullanma: WordBool read Get_VeritabaniKullanma write Set_VeritabaniKullanma;
property hRContext: OleVariant read Get_hRContext;
end;

// *********************************************************************//
// DispIntf: _clsGorevIslemleriDisp
// Flags: (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID: {D503698E-216B-4E09-B90C-FD5033A0EB97}
// *********************************************************************//
_clsGorevIslemleriDisp = dispinterface
['{D503698E-216B-4E09-B90C-FD5033A0EB97}']
function IslemeBasla(var Islem: WideString): Smallint; dispid 1610809401;
function SonrakiOlay: OleVariant; dispid 1610809416;
property OlayGorevIslemNo: WideString readonly dispid 1745027126;
property OlayKimlikKartNo: WideString readonly dispid 1745027125;
property VeritabaniKullanma: WordBool dispid 1745027073;
property hRContext: OleVariant readonly dispid 1745027072;
end;

// *********************************************************************//
// DispIntf: __clsGorevIslemleri
// Flags: (4240) Hidden NonExtensible Dispatchable
// GUID: {77A4D1C9-F454-4348-B07A-BFF5BEC78FEB}
// *********************************************************************//
__clsGorevIslemleri = dispinterface
['{77A4D1C9-F454-4348-B07A-BFF5BEC78FEB}']
procedure HataOlustu(var Hata: WideString; var Parametre: Integer); dispid 1;
procedure IslemBasladi(var Islem: WideString; var Parametre: WideString); dispid 2;
end;

// *********************************************************************//
// The Class CoclsGorevIslemleri provides a Create and CreateRemote method to
// create instances of the default interface _clsGorevIslemleri exposed by
// the CoClass clsGorevIslemleri. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoclsGorevIslemleri = class
class function Create: _clsGorevIslemleri;
class function CreateRemote(const MachineName: string): _clsGorevIslemleri;
end;

implementation

uses ComObj, SysUtils ;

class function CoclsGorevIslemleri.Create: _clsGorevIslemleri;
begin
Result := CreateComObject(CLASS_clsGorevIslemleri) as _clsGorevIslemleri;
end;

class function CoclsGorevIslemleri.CreateRemote(const MachineName: string): _clsGorevIslemleri;
begin
Result := CreateRemoteComObject(MachineName, CLASS_clsGorevIslemleri) as _clsGorevIslemleri;
end;
Cevapla