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
Wie lese ich einen Tabellennamen einer Datenbank (Excel)aus?
wenn Du pXlSheets Global deklarierst geht´s.
________
schic
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
Gibt noch eine weitere möglichkeit. Ist gerade in ein anderen Thread.
http://www.purebasic.fr/german/viewtopi ... 6&start=10
FF
http://www.purebasic.fr/german/viewtopi ... 6&start=10
FF

Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive