Seite 2 von 2
PureBasic.asm[2482]: dd SM_idispatch error: undefined symbol
Verfasst: 23.09.2006 11:43
von Andreas_F
Wenn ich aus schic's Beispiel den Abschnitt -{-Main ... ;} in eine Procedure übertrage und diese dann aufrufe bekomme ich den o.a. Assembler-Fehler: "PureBasic.asm[2482]: dd SM_idispatch error: undefined symbol".
Was mache ich falsch?
Danke im voraus für jede konstruktive Hilfe
Andreas_F
Verfasst: 26.09.2006 18:38
von schic
wenn Du pXlSheets Global deklarierst geht´s.
Code: Alles auswählen
;...
Global Dim pXlSheets.IDispatch(1)
;...
Procedure main()
File$ = "E:\test\Mappe1.xls"
pXlApp.IDispatch = SetAppObj("Excel.Application") ;Excel.Application.10
If pXlApp = 0
End
EndIf
pXlBooks.IDispatch = SetComObj(pXlApp, "Workbooks", 0)
If LastError: Goto releaseall: EndIf
varArr(0)\vt = #VT_BSTR
varArr(0)\lVal = Ansi2Uni(@File$)
AutoWrap(#DISPATCH_METHOD, pXlBooks, "Open", 1)
VariantClear_(varArr(0))
If LastError: Goto releaseall: EndIf
pXlBook.IDispatch = SetComObj(pXlApp, "ActiveWorkbook", 0)
If LastError: Goto releaseall: EndIf
pXlSheets.IDispatch = SetComObj(pXlBook, "Worksheets", 0)
If LastError: Goto releaseall: EndIf
VariantInit_(pvResult.VARIANT)
AutoWrap(#DISPATCH_PROPERTYGET, pXlSheets, "Count", 0)
NumOfXlSheets = pvResult\lVal
Debug "NumOfXlSheets: " + Str(NumOfXlSheets)
If LastError: Goto releaseall: EndIf
Dim pXlSheets.IDispatch(NumOfXlSheets)
For i = 1 To NumOfXlSheets
Dim varArr.VARIANT(1)
varArr(0)\vt = #VT_I4
varArr(0)\lVal = i
pXlSheets(i) = SetComObj(pXlApp, "Worksheets", 1)
VariantClear_(varArr(0))
VariantInit_(pvResult.VARIANT)
AutoWrap(#DISPATCH_PROPERTYGET, pXlSheets(i), "Name", 0)
Nam$ = Uni2Ansi(pvResult\bstrVal)
If LastError: Goto releaseall: EndIf
Debug Nam$
Next
releaseall:
AutoWrap(#DISPATCH_METHOD, pXlApp, "Quit", 0)
ReleaseAllObjects()
CoUninitialize_()
LastError = 0
EndProcedure
main()
________
schic
Verfasst: 26.09.2006 18:57
von schic
Das Problem tritt nur im Debug-Modus auf

Scheint am Debugger zu liegen.
Gruß
schic
Verfasst: 29.09.2006 19:58
von Andreas_F
Danke schic, das war's!
Ja, das Problem tritt auch bei mir nur im Debug-Modus auf.
Vielen Dank, Andreas_F
Verfasst: 30.09.2006 02:54
von mk-soft
Gibt noch eine weitere möglichkeit. Ist gerade in ein anderen Thread.
http://www.purebasic.fr/german/viewtopi ... 6&start=10
FF
