Ole nesnesi kullanmadan excel dosyası oluşturma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
karflake
Üye
Mesajlar: 222
Kayıt: 15 Haz 2003 03:57

Re: Projeye uniti ekleme

Mesaj gönderen karflake »

AliRiza yazdı: [Error] DBGridExportToExcel.pas(116): Incompatible types: 'String' and 'IDispatch'
WinXp Sp2 olan sistemimde Delphi 7 ile çalışırken ben de aynı hata mesajını aldım. Tesadüf eseri cat değişkenini incelerken Set_ActiveConnection diye prosedür olduğunu daha fark ettim. _Set_ActiveConnection parametre olarak lDispatch tipinde değer alırken, Set_ActiveConnection parametre olarak OleVariant türünden değer almaktaydı. Dolayısıyla bunu kullandığım zaman Delphi'nin tip dönüşümünü otomatik olarak yapacağını düşündüm. Sonuçta, bu değişikliği yaparak unit'i programımda kullanabildim.

Uzun lafın kısası; yukarıdaki unit'in çalışması için

Kod: Tümünü seç

cat._Set_ActiveConnection('Provider=Microsoft.Jet.OLEDB.4.0; Data Source=' + FileName + ';Extended Properties=Excel 8.0'); 
yerine

Kod: Tümünü seç

cat.Set_ActiveConnection('Provider=Microsoft.Jet.OLEDB.4.0; Data Source=' + FileName + ';Extended Properties=Excel 8.0');
kullanılması gerekiyor.

@AliRiza, DBGridToExcelADO(dbgrid1,'aktarilcacakdosya.xls','aktarılansayfa'); kullanımınız doğru.
Cevapla