Çözüldü.Datamodule.create eventinde Shellexecute kullanımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
eyalin
Üye
Mesajlar: 126
Kayıt: 09 May 2005 08:08

Çözüldü.Datamodule.create eventinde Shellexecute kullanımı

Mesaj gönderen eyalin »

Merhaba hepinize kolay gelsin.
Datamodülümün create eventında bir ini dosyasına baktıktan sonra istediğim şart gerçekleşmişse şöyle bir kod kullanıyorum.

Kod: Tümünü seç

ShellExecute(Handle,'Open',Pchar(ExtractFilePath(Application.ExeName)+'test.exe'),nil,nil,SW_SHOW);
sorun şu ki ;
Uses kısmında Shellapi bulunmasına rağmen "Undeclared Identifier: 'Handle' " diye bir hata alıyorum.Datamodule de olması itibariylemi bu hatayı veriyor?Acaba neyi atlıyorum :( Yardımlarınız için teşekkürler.

handle:Thandle diye bir değişken tanımladım şu an çalışıyor.Fakat aynı metodu farklı bir exe de normal bir formda (datamodule değil ) kullandığımda handle:Thandle diye bi değişken kullanmadan çalıştırıyorum. Açıkcası neden böyle anlamadım :).

Kolay gelsin ...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Çözüldü.Datamodule.create eventinde Shellexecute kullanımı

Mesaj gönderen aslangeri »

s.a.
sebep Handle handle property sinin TWinControl sınıfında tanımlanmış olması.
TForm un hiyerarşisini izlersen
TForm --> TCustomForm --> TScrollingWinControl --> TWinControl --> TControl --> TComponent --> TPersistent, IInterface, IInterfaceComponentReference
TDataModule ün hiyerarşisinde ise
TDataModule --> TComponent --> TPersistent, IInterface, IInterfaceComponentReference
şeklinde olduğunu göreceksin.
Dolayısı ile TWincontrol içinde tanımlı olan "Handle" property sine TDataModule den ulaşamaman çok doğal.

Kolay Gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
eyalin
Üye
Mesajlar: 126
Kayıt: 09 May 2005 08:08

Re: Çözüldü.Datamodule.create eventinde Shellexecute kullanımı

Mesaj gönderen eyalin »

Teşekkürler yanıtın için.Acemilik başa bela :) İyi çalışmalar.
Cevapla