Basit bir ActiveX Nesnesi oluşturup ASP sayfasından çağırmak

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Basit bir ActiveX Nesnesi oluşturup ASP sayfasından çağırmak

Mesaj gönderen vkamadan »

Merhaba,
Forumdaki bir soru üzerinde uçsuz bucaksız yazılım dünyasında kendim için bir ilki daha tecrübe etmiş bulundum, ve makale halinde paylaşmak istedim.

Bu yazıda , basit bir ActiveX kitaplığı oluşturup bu kitaplığa basit bir sınıf tanımlayıp bu sınıfada basit bir metod tanımlayacağız ve basit bir ASP sayfasında kitaplığı test edeceğiz özetle herşey çok basit olucak :)

Evet, Delphi7 ortamında File-->New-->Other menüsünden ActiveX sekmesine ulaşıp yeni bir ActiveX Library projesi oluşturalım.

Resim

Sonra projemizi MyAXObject adımda kaydedelim, activex kitaplığımız hazır şimdi buna sınıf yaratabileceğimiz bir Active Server Object tanımlayalım bunun için, File-->New--Other menü adımlarından ActiveX sekmesine ulaşın ve Active Server Object seçeneğini seçin.

Resim

OK tuşuna baştığımızda oluşturacağımız ActiveX Server Object hakkında bir takım ön bilgiler istenecektir, aşağıdaki şekildeki gibi dolduralım.

Resim

Sınıfımızın adını MyAXClass koyduk, bu ekrana da OK dediğimizde aslında işimizin büyük bir kısmını hallettik ve Type Library ekranıyla karşılaştık.

Resim

Bu ekran Active Server Object ini kolayca yönetmemizi sağlayan kullanışlı bir editör olarak karşımıza çıkar, şimdi dikkat ettiyseniz MyAXClass sınıfımızı temsil eden MyAXClass ve onu işaret eden IMyAXClass arabirimi tanımlarının yer aldığını görürüz, biz tüm metod tanımlama işlemlerimizi IMyAXClass arabirimine yapacağız o bizim için gerekli sınıf tanımlamalarını yapacak, IMyAXClass ı seçelim ve yeşil simgeli tuşa tıklayalım bu sayede sınıfa yeni bir metod oluşturmaya başlamış olduk (Mavi simge seçilen sınıfa yeni bir özellik (property) ekler).

Resim

Metoda MyAXTestMetod adını verelim ve sağ taraftan şekildeki gibi Parameters sekmesine geçelim, burada sadece giriş parametreleri değil çıkış parametreleride tanımlanır ve örnek metodumuzda giriş parametresi kullanmayacağız geriye String dönen basit bir metod olacak bizim metodumuz, şekildeki gibi "bos" adında BSTR * tipinde OUT + RETVAL tanımlamasına sahip bir parametre tanımlıyoruz, buradaki OUT ve RETVAL seçenekleri bu parametrenin bir çıkış parametresi olduğunu belirtir. Return tye olarakta HRESULT belirtiyoruz ve projemizi kaydediyoruz, kayıt işlemini yapar yapmaz delphi bizim için metod tanımlamalarını yapıyor bize sadece metodumuzu doldurmak kalıyor,

Resim

Kod: Tümünü seç

function TMyAXClass.MyAXTestMetod: WideString;
begin
     Result:='ilk ActiveX nesnemizden selamlar.. :)';
end;
ve CTRL + F9 ile projemizi derliyoruz, proje dizininde MyAXObject.dll dosyası artık oluştu, şimdi sıra geldi kullanmaya, sınıf tanımı yaparken seçtiğimiz bir seçenek olan Generate a template test script for this object seçeği bize actvieX objemizi kullanmak için gerekli temel ASP kodunu üreterek MyAXClass.asp olarak proje dizinin kaydediyor, biz onu açıp şöyle düzenleyelim,

Kod: Tümünü seç

<HTML>
<BODY>
<TITLE> Testing Delphi ASP </TITLE>
<CENTER>
<H3> You should see the results of your Delphi Active Server method below </H3>
</CENTER>
<HR>
<% Set DelphiASPObj = Server.CreateObject("MyAXObject.MyAXClass") 
   Response.Write DelphiASPObj.MyAXTestMetod
%>
<HR>
</BODY>
</HTML>
dosyayı kaydedlim, ve IIS üzerinde herhangi bir sanal dizine atalım, unutmadan ActiveX kitaplıklarını kullanabilmek için register etmek gerekiyor bunun için Başlat-->Çalıştır komutunu verip komut satırına regsvr32 c:\testproje\MyAXObject.dll komutunu verelim tabi DLL in bulunduğu yolu siz kendinize göre düzenleyin.
Artık herşey hazır, browserdan sayfamızın URL sini yazalım ve emeğimizin karşılığını gözlemleyelim.

Resim

Proje dosyası http://rapidshare.com/files/66503694/Ar ... Object.zip

İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla