Ich versuche im WAA eine Excel-Tabelle zu füllen. Dazu habe ich das Beispiel von Alaska angepasst und mit sleep(0) experimentiert. Ohne sleep() kann das Programm mittendrin abbrechen - in einer Schleife zum Füllen von Zellen - alle LOCAL-Variablen sind weg....
Jetzt läuft die Funktion komplett durch, jedoch stürzt der WAA-Server nach einiger Zeit einfach ab - mit XPPFATAL.LOG
Code: Alles auswählen
Function EP_INORDER(oHTML, oContext)
// *****************************************************************************
// Test
// *****************************************************************************
LOCAL oExcel, oBook, oSheet
begin sequence
oExcel := CreateObject("Excel.Application")
IF Empty( oExcel )
oHTML:message("Excel nicht vorhanden")
BREAK
ENDIF
oExcel:DisplayAlerts := .F.
oExcel:visible := .T.
cDir := "g:\Armin"
oBook := oExcel:workbooks:Add()
oSheet := oBook:ActiveSheet
oSheet:PageSetup:Orientation := xlLandscape
oSheet:Cells(nRow,1):Value := "Armin"
sleep(0)
oSheet:Columns( 1 ):AutoFit()
sleep(0)
oBook:SaveAs(cDir+"\Excel1.xls",xlWorkbookNormal)
sleep(0)
oExcel:Quit()
sleep(0)
oExcel:Destroy()
sleep(0.1)
oHTML:message("Exportieren beendet", cDir+"\MyExcel.xls")
recover
oHTML:message("Fehler beim Exportieren", "")
end
oHTML:message("ende","")
sleep(0.1)
RETURN .t.
Error within the error handling!
SYS Thread-ID: 1856
Module: EXE
Error Codes: EH: 5 Sub: -1073741819(c0000005) OS: 0 XPP: 41
Call Stack of Thread 1 (556):
SRVSERVEFRONTEND(714)
MAIN(148)
Call Stack of Thread 2 (740):
Call Stack of Thread 3 (1260):
....
Call Stack of Thread 15 (1788):
@CGICHANNEL@I@CONNECT(109)
@WAAGATEWAY@I@CGICONNECT(75)
@WAA1REQUESTER@I@EXECUTE(177)
Call Stack of Thread 16 (1856):
DLGSTAT(58)
File: C:\ALASKA\WAA1W32\SERVER\waa1srv.exe
TimeStamp: 20091230 11:46
End of FATAL ERROR LOG.
Grüsse, Armin