Laden...

Forenbeiträge von robmir Ingesamt 155 Beiträge

03.08.2005 - 14:24 Uhr

kann mir jemand Helfen das Problem zu lösen?? es ist sehr dringlich!!
ich darf die Rechte nicht ändern. ich muss es irgendwie anders machen.

was ich erfahren habe ist, dass .NET XMLSerializer erzeugt c# dateien (.cs dateien) und aus dennen dll und versucht sie in system TEMP Umgebungsvariable zu schreiben. da ich z.B ohne Admin rechte eingeloggt bin, kann es auf c:\windows\Temp nicht zugegriffen werden.

28.07.2005 - 20:06 Uhr

Danke für die Antwort, so wäre es besser, aber trotzdem muss ich es umgehen, dh. die dlls müssen im Lokale Einstellungen/Temp abgespeichert werden 🙁

28.07.2005 - 16:13 Uhr

Hallo,

ich habe im .net c# web services programmiert.
Das Problem was ich jetzt habe, ist die zugriff auf c:\windows\temp Verzeichniss.
Da werden irgendwelche dlls dynamisch generiert und dort abgespeichert.
Auf meinem Rechner ist es kein Problem, weil ich admin rechte habe. Es soll aber auf Rechner laufen, wo man sich nicht als admin einlogt (d.h als gast). Dann schlägt es fehl 🙁
Tja, die Meldung beginnt so:

System.IO.FileNotFoundException: File or assembly name tzxg9ehs.dll, or one of its dependencies, was not found.......

Kann ich einstellen, dass die daten woanders abgespeichert werden?

robmir

27.07.2005 - 21:24 Uhr

hi,

danke für die Antwort, ich werde es erst morgen ausprobieren.
Aber an dieser Stelle wollte ich noch fragen, wie kann ich auf bestimmten Typ casten?
d.h ich kann aus addGUI Api von Typ Add bekommen falls ich die Methode aufrufe


Add add = addGUI.getApi ( );

in der Dokumentation so definiert:


Public Function getApi ( ) As Add

wie soll ich es dann mit late binding schaffen?
also:


?? add = Convert.??(comType.InvokeMember("getApi", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.IgnoreCase,null,addGUI,args));

ich bedanke mich im voraus

robmir

27.07.2005 - 14:08 Uhr

Hallo,

ich versuche eine Methode aufzurufen von COM - Komponente


Type comType = Type.GetTypeFromProgID("ADDGUI.GUI4ADD");
object addGUI = Activator.CreateInstance(comType);
object[] args =  new object[] {"","PROD",false};
//object[] arg = new object[0];
bool bo = Convert.ToBoolean(comType.InvokeMember("OpenConnection", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.GetProperty | System.Reflection.BindingFlags.IgnoreCase,null,addGUI,args));

und bei InvokeMember schlägt es fehl d.H ich bekomme so eine Meldung
"System.reflection.targetParameterCountexception: invalid number of parameters"

ich habe schon mit verschidenen Parameter versucht aber immer das gleiche.
Wenn ich das per Referenz (fest) einbinde mache ich sowas:


addGUI = new GUI4ADDClass();
bOK = addGUI.OpenConnection("","PROD",false);

und es macht keine Probleme, alles geht gut. Das Problem ist, dass ich es dynamisch binden muss (leider).

die Methode ist in der dokumentation so definiert:

Public Function OpenConnection(
	  Optional ByVal ConPwd As String,
	  Optional ByVal UseDb As String,
	  Optional ByVal SplashWin As Boolean ) As Boolean

und in der registry ist es unter ProgID so eingetragen REG_SZ ADDGUI.GUI4ADD
hmmm.... was mach ich falsch??

Auf jede Hilfe bin ich dankbar!!
robmir