Haskell ile Excel Otomasyonu seg hatası veriyor.
Aşağıdaki komut ile Excel ateş ederim. Ama ghci (7.4.1) çalıştırdığımda bölümleme hatası var.
Şimdi Arama için nerede bilmiyorum. Ben bu satırı kaldırırsanız, bu hata yok
workSheets <- workBook # propertyGet_0 "Worksheets"
Ä°ÅŸte kod. Olabilir bir ÅŸey unuttum. Kaynak com Kanunu okudum.here, ama bana herhangi bir ipucu vermez hs.
import System.Win32.Com
import System.Win32.Com.Automation
--
-- createObjectExcel
-- coming from Automation.hs and com.hs
--
iidIDispatch_unsafe = mkIID "{00020400-0000-0000-C000-000000000046}"
createObjExl :: IO (IDispatch ())
createObjExl = do
clsidExcel <- clsidFromProgID "Excel.Application"
pExl <- coCreateInstance clsidExcel Nothing LocalProcess iidIDispatch_unsafe
return pExl
fichierTest2 = "E:/Programmation/haskell/Com/qos1.xls"
main = coRun $ do
pExl <- createObjExl
workBooks <- pExl # propertyGet_0 "Workbooks"
workBook <- workBooks # propertyGet_1 "Open" fichierTest2
workSheets <- workBook # propertyGet_0 "Worksheets"
workBooks # method_1_0 "Close" (0::Int)
pExl # method_0_0 "Quit"
mapM release [workSheets,workBook, workBooks, pExl]
EditGonzalez tavsiyesi ile hata ayıklama denedim, ama hiçbir bilgi ortaya çıktı. Ghci elle kod denedim ve suçluyu serbest bırakma fonksiyonu gibi görünüyordu.
Ghci girdim bu, bölümleme hatası var:
*Main> coInitialize
*Main> pExl <- createObjExl
*Main> release pExl
0
Şimdi Eğer "pExl" bir başvuru var. bastığımda Null için ayarlanmış olması gerekmez mi?
*Main> pExl
<interface pointer = 0x020844cc>
*Main> coUnInitialize
*Main> :q
leaving Ghci
Segmentation Fault/access violation ...
CEVAP
Statik bir işlev içinde workSheets
yöntem arıyor olabilir. Hareket deneyin.
Ya da, açıkça veri türü bildirmek denediniz mi 'Çalışma'
WorkSheets :: Int -> Int
ya da (her ne olmalıdır).
Neden @font-face woff dosyaları 404 ha...
OS X Jenkins: xcodebuild Kod imzalama ...
hak kurulum hatası `böyle bir dosya dl...
Giriş ayrıştırma hatası `=' Haskel...
Excel (.OluÅŸturun DOC ve .XLSX) dosyas...