2013-03-07 6 views
9

Ich habe eine Windows Forms-Anwendung, die ocx Drittanbieter-Steuerelemente hat. Der folgende Befehl wird verwendet, um ein Objekt zur Laufzeit zu erstellen.ASP Keine solche Schnittstelle unterstützt Fehler beim Erstellen von Objekt

myObject = myApplication.CreateObject("ML.MFinder", True) 

das funktioniert ordnungsgemäß und ProgID ist auch korrekt. Das Problem ist, wenn das gleiche in asp Projekt zu tun, wo ich folgende Fehlermeldung erhalten:

System.Runtime.InteropServices.COMException: No such interface supported 

at ML.MApplicationClass.CreateObject(String ProgID, Boolean Allocate)

Seltsam, weil andere ocx Objekte funktioniert auch auf asp Projekt. Ich verwende IIS 5.1, Windows XP Pro SP3 und Framework 3.5. Ich habe auch ocx manuell registriert.

+0

haben Sie die Referenz hinzugefügt? –

+0

ja sicher. Schon hinzugefügt. – Jaume

+0

Welche Threading-Modelle werden vom OCX unterstützt? – tcarvin

Antwort

2

Benötigt dieses OCX-Steuerelement einen bestimmten Schreibzugriff auf das Dateisystem? Wenn dies der Fall ist, müssen Sie Rechte auf Dateisystemebene angeben: IUSR_XXXXX = READ + EXECUTE.

Sie sollten auch überprüfen, ob keine Abhängigkeit mit Dependency Walker Tool fehlt.

Erhalten Sie eine Klassen-ID in der Ausnahme? Wenn dies der Fall ist, überprüfen Sie, ob diese Classid in der Registrierung vorhanden ist.

+0

keine Klasse ID in der Ausnahme. Ich habe bereits Berechtigungen für IUSR_ account vergeben, aber keinen Erfolg. Aber danke für die Tipps, ich wusste diesen Punkt nicht. Wenn die Berechtigungen in Ordnung sind, wie gehe ich vor? "kein solcher Schnittstellenfehler" wird immer noch angezeigt. – Jaume

+0

@Jaume: Können Sie etwas mehr Code teilen, wie das Verfahren, mit dem Sie dieses Objekt erstellen? Verwenden Sie auch asp oder asp.net? –

+0

danke für die Tipps, habe ich einen neuen Thread einmal Webservice-Methode aufgerufen. Innerhalb dieses Threads wurden keine Fehler gemeldet. Vielen Dank. – Jaume

2

Unter IIS haben Sie nicht die gleichen Regeln für den Zugriff auf externe Dateien oder DLLs. Ich denke, mit OCX-Dateien kann der IIS noch restriktiver sein.

Ich glaube nicht, das Problem ist die Referenz oder so ähnlich. Wie Sie bereits sagten, haben Sie das OCX bereits registriert, aber hat dieses OCX auch einige Abhängigkeiten? Sie müssen auch ordnungsgemäß registriert werden.

Verwandte Themen