PDA

View Full Version : Fehlerhandling in Activex



Ditte
21-Mar-2012, 12:48 PM
Hallo,

ich nutze für mein Dokumentenmanagment "gdpicture". Dieses Aktivex Element hat bei der Darstellung von PDF Dateien bzw. Routinen die einen Wert zurückgeben. Diese Werte kann man bezüglich von auftretenden Fehlern ausnutzen.
Einer dieser Fehler besagt "Datei nicht vorhanden"
Man übergibt eine Datei incl. Pfad, entweder sie ist vorghanden, dann wird sie dargestellt oder sie ist nicht vorhanden dann kommt der Fehler.
Nun könnte man mit File_Exist abfragen, ob die Datei vorhanden ist.
Ich möchte aber den Fehler über den Rückgabewert abfangen.

Der Aufruf:


Get ComDisplayFromPdfFile ls_pdfpfad "" to iOleStatus


Die Routine aus dem pkg:


Function ComDisplayFromPdfFile String llsPdfFilePath String llsPassword Returns OLEGdPictureStatus
Handle hDispatchDriver
OLEGdPictureStatus retVal
Get phDispatchDriver to hDispatchDriver
Send PrepareParams to hDispatchDriver 2
Send DefineParam to hDispatchDriver OLE_VT_BSTR llsPdfFilePath
Send DefineParam to hDispatchDriver OLE_VT_BSTR llsPassword
Get InvokeComMethod of hDispatchDriver 1610809429 OLE_VT_I4 to retVal
Function_Return retVal
End_Function

Wie kann ich den mit der Routine den Fehler abfangen, wenn in der Zeile:

Get InvokeComMethod of hDispatchDriver 1610809429 OLE_VT_I4 to retVal

ein Fehler erzeugt erzeugt wird ("Datei nicht vorhanden").
Normalerweise würde ich die Variable "iOleStatus" abfragen, aber der Fehler kommt ja schon eher.

Alle Versuche mit ignore_error etc. haben mich nicht weiter gebracht.

In VB scheint es zu funktionieren:



...
If Microsoft.VisualBasic.Right(FileName, 3) = "pdf" Then
AxGdViewer1.ZoomMode = GdPicturePro5.ViewerZoomMode.ZoomFitToControl
AxGdViewer1.DisplayFromPdfFile(FileName)
If AxGdViewer1.GetStat <> 0 Then
Throw New System.Exception("Error in pdf file")
End If
Else
...

Wie kann man den Fehler im ActiveX unterdrücken?

Dennis Piccioni
21-Mar-2012, 01:06 PM
Hi Ditte,

gibt das einen VDF Fehler?

Vincent Oorsprong
22-Mar-2012, 01:40 AM
Dittmar,

Unterdrückung ein Fehler in der OCX kann nur da sein für eine Immobilie von der OCX-Entwickler gebaut. An der VDF Seite können Sie die Fehlerbehandlung Objekt.