Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Pascal / Delphi / Delphi.NET

Cevapla
 
LinkBack Seçenekler
Eski 29/01/2007, 14:19   #1 (permalink)
Üye
 
Üyelik Tarihi: 05/2006
Mesaj: 5
Varsayılan DLL ' deki class

Arkadaşlar merhaba,

yazmış olduğum bir dll' deki class' ı projede nasıl create edip fonksiyonlarını nasıl çağırabilirim?

Teşekkürler.
maximreality hatta değil   Alıntı Yaparak Yanıtla
Eski 29/01/2007, 20:52   #2 (permalink)
Gezgin
 
hmustak Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: /root/
Mesaj: 3,659
Varsayılan

onun yerine class unit kullansan olmazmı? Şart mıdır DLL ?
__________________

HassasValf | Hakan Müştak | Motor

hmustak hatta değil   Alıntı Yaparak Yanıtla
Eski 30/01/2007, 14:07   #3 (permalink)
Üye
 
Üyelik Tarihi: 05/2006
Mesaj: 5
Varsayılan

Evet DLL yazmam şart. O DLL deki class com+ nesnesi (CAPICOM) referans edecek. Ben bir entegrasyon yapacam yani. DLL i alacak x kişisi, basit basit yapacak işlemlerini. Ama gel görki koca Delphi nasıl olurda kendisi tarafından yazılan bir DLL projesindeki Class' ı uygulamada create edemez?! Yada ben birşeyler kaçırıyorum.

İlgin için teşekkürler.
maximreality hatta değil   Alıntı Yaparak Yanıtla
Eski 30/01/2007, 15:35   #4 (permalink)
Üye
 
Üyelik Tarihi: 01/2007
Mesaj: 34
Varsayılan

yalnış yapıyorsundur bende dll içinde class yapısını kullanıyorum sorun çıkarmıyor.
Keske kodundan anlayacağımız kadar yollasaydın...
Yardımcı olabilirdik o zaman...
Şimdi Birşey söylemek zor oluyor...
PowerSoft hatta değil   Alıntı Yaparak Yanıtla
Eski 30/01/2007, 17:14   #5 (permalink)
Üye
 
Üyelik Tarihi: 05/2006
Mesaj: 5
Varsayılan

Yalın halde kodlar yok elimde, com+ yazmaya başladığımdan gereksiz Interface ve referanslar olacaktı, kodu göndermek istemedim bende.

Atıyorum:

type
TPersonel = class
private
_isim : string;
_soyisim :string;
public
procedure setIsimSoyisim(isim:string;soyisim:string);
function getIsimSoyisim:string;
end;

procedure TPersonel.setIsimSoyisim(isim:string;soyisim:strin g);
begin
_isim:=isim;
_soyisim:=soyisim;
end;

function Tpersonel.getIsimSoyisim:string;
begin
Result:=_isim+' '+_soyisim;
end;


şimdi bu class unitte adam akıllı çalışıyor. fakat ben yeni bir dll projesi açtığımda bu dllin içine bu classı yazdığımda öncelikle bu dll i kullanacak bir uygulamadan bu classa nasıl referans edeceğim? diğer bir sorun ise dll projesinde exports altında bu TPersonel in fonksiyon ve prosedürlerini dışarıya nasıl vereceğim? exports altında bunları deklare edemiyorum.

özetle bu dll in içindeki classlara ister konsol istersemde win vcl uygulamasından erişmek istiyorum. misal;

var
hehe: TPersonel;
begin
hehe:= TPersonel.Create;
hehe.setIsimSoyisim('Güldüm','Gülme');
showmessage(hehe.getIsimSoyisim);
end;

C# ta lokum gibi oluyor bu. Projeye referans halinde dll ekleniyor. o dll deki tüm classlara erişim sorunu yaşamıyorum.

şimdiden teşekkürler.
maximreality hatta değil   Alıntı Yaparak Yanıtla
Eski 31/01/2007, 04:34   #6 (permalink)
Gezgin
 
hmustak Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: /root/
Mesaj: 3,659
Varsayılan

dll de export kullanmıyormusun peki?
__________________

HassasValf | Hakan Müştak | Motor

hmustak hatta değil   Alıntı Yaparak Yanıtla
Eski 31/01/2007, 07:29   #7 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

anlaşılan class deklarasyonun DLL. içinde. Ama sınıfı dll. de yapılandırmıyor (create/constructor) ve canlı bir nesne olarak export etmiyorsun. Yani sadece class deklarasyonuna başka bir uzay adresinden atıfta bulunmaya çalışıyorsun. Atladığım bir şey yoksa, ilgili DLL. de yapılandırılmayan, bellekte bir örneği bulunmayan, export edilmeyen bir sınıfın bu biçimde kullanılamaması mantığa aykırı görünmüyor. C. deki kullanımda muhtemelen ilgili kütüphaneyi referans geçiyorsun. Delphidede class deklarasyonunun bulunduğu unit'e referans olarak ekleyerek kullanabilirsin. Ama bir DLL olarak uygulamanın bellek uzayına yükleyip, DLL fonksiyonu çağırır gibi kullanamazsın.
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Eski 31/01/2007, 17:44   #8 (permalink)
Üye
 
Üyelik Tarihi: 05/2006
Mesaj: 5
Varsayılan

uzun yazınca sanırım ne istediğimi anlatamadım, derdimi özetlersem:

*bir class yazmalıyım ama bu dll de olmalı
*bu dll deki class ı herhangi bir projede kullanmalıyım
*classın metotlarını static olarak kullanmaktan söz etmiyorum, o dll deki classtan türeteceğim nesne üzerinden kullanacam.

teşekkürler
maximreality hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
class? salihakkas2 PHP 1 27/01/2006 15:44
Class Sorunu Raiden PHP 14 22/09/2005 22:51
object ile class trancemaster PHP 54 17/06/2005 22:05
class dosyası webmeraklisi Java / JSP 2 27/01/2005 11:40
class Volkan Uzun PHP 12 23/10/2003 19:49


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 09:42.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net