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.AliRiza yazdı: [Error] DBGridExportToExcel.pas(116): Incompatible types: 'String' and 'IDispatch'
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');
Kod: Tümünü seç
cat.Set_ActiveConnection('Provider=Microsoft.Jet.OLEDB.4.0; Data Source=' + FileName + ';Extended Properties=Excel 8.0');
@AliRiza, DBGridToExcelADO(dbgrid1,'aktarilcacakdosya.xls','aktarılansayfa'); kullanımınız doğru.