Haskell ile Excel Otomasyonu seg hatası veriyor. | Netgez.com
SORU
26 Ocak 2013, CUMARTESÄ°


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
1 Ocak 2015, PERÅžEMBE


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).

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • DavideoDesign

    DavideoDesig

    24 NÄ°SAN 2006
  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • jat4011

    jat4011

    16 EKÄ°M 2010