Excel Application u Sınıfta Kullanırken Hata veriyor.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Excel Application u Sınıfta Kullanırken Hata veriyor.

Mesaj gönderen kara_kule06 »

Selamün aleykum arkadaşlar.

Bildiğimiz gibi excel i bir formda kullanabiliyoruz. ExcelApp diye bir variant değişken tanımlayıp comObj yi te implemente ettikten sonra

Kod: Tümünü seç

ExcelApp:=CREATEOLEOBJECT('excel.application');
dediğimizde excel uygulaması çalışıyor. fakat ben bir sınıf yaptım ve bunu sınıfın herhangi bir procedure sinde çalıştırmak istiyorum.

'Access violation at address 00B2EAC5. Read of address 00D8126A'.

diye hata veriyor. bir formda bu işlemi yapınca hiç bir hata vermiyor. çözemedim bir türlü. yardımcı olursanız sevinirim. sınıfın içinde kullandığım kod şöyle.(Ama kodda bi hata yok.)

Kod: Tümünü seç

 procedure TExportToExcel.ExcelSablonAc();
 var
  ExcelApp: variant;
  kitap: variant;
 Begin
  ExcelApp:=CREATEOLEOBJECT('excel.application');
  kitap:=ExcelApp.WORKBOOKS.open(SablonDosyasi);
 End;
En son kara_kule06 tarafından 18 Şub 2008 10:49 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Kod: Tümünü seç

ExcelPrg

Kod: Tümünü seç

ExcelApp
olmasın
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

yok o yazım hatası. düzelttim şimdi.
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

bende sildim o zaman :lol:
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

ya arkadaşlar gerçekten tıkanıp kaldım. bu sorunu cozmem lazım... :(
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Sitede Excel ile ilgili bir çok örnek var özellikle makaleler kısmından bu örneği ordan aldım.

Kod: Tümünü seç

// excel dosyasının açılması ve işlem için hazırlanması ile ilgi procedure 
procedure tform1.dosyaac; 
begin 
  // Excel oluşturuluyor 
  ExcelApp := CreateOleObject('Excel.Application'); 
  try 
    ExcelApp.Workbooks.Open('C:\deneme.xls'); 
    // deneme.xls dosyası işlem için açılıyor 
  finally 
    // Excel dosyası kapatılıyor. 
    if not VarIsEmpty(ExcelApp) then 
    begin 
        ExcelApp.DisplayAlerts := False;  //Excel mesajlarını görünteleme 
        ExcelApp.Quit; 
        ExcelApp := Unassigned; 
    end; 
  end; 
end; 
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

kardeş zaten bir formun içinde çalıştırdığımda sorun yok. ama ben bir sınıf oluşturdum. bu sınıfın procedure ünde alıştırınca hata veriyor. sınıfın örneğini bir formada oluşturup, procedure ü çalıştırınca hata alıyorum. Yoksa normalde çalışıyor.
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
aseka

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 08:42 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

yok kardeş tanımlı o değişken. hem zaten hatayı da

Kod: Tümünü seç

ExcelApp:=CREATEOLEOBJECT('excel.application');
satırında alıyorum.

işin ilginç tarafı hatadan sonra görev yöneticisinden işlemlere bakıyorum. Excel.exe uygulaması çalıştırılmış.
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
aseka

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 08:42 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

aynen böyle yapıyorum. fakat benim yaptığım sınıf başka bir dosyada. Bu da farketmez sanırım.
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
aseka

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 08:42 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

TExportToExcel sınıfı ExportToExcel1.pas isimli dosyada yaratılıp oluşturuldu ve bende çalıştığım form da butana tıklayınca opendialogbox açılıyor buradan excel dosyasını seçince ExportToExcel adlı sınıfın örneğini oluşturuyor. ve start isimli procedure ü çağırıyor. işte yaptığım işte bu procedure ün içinde.
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
aseka

Mesaj gönderen aseka »

--
En son aseka tarafından 18 Mar 2008 08:43 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

hımm. ok kardeş sağol igin için. kafamı toplayıp bi göz gezdireyim. 2 gündür yoldayım. ne yaptığımı bilmiyom. :D
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
Cevapla