Hallo...
Ich bin schon die halbe Nacht dran und krieg das nicht hin 😠
vielleicht kann mir ja jemand helfen, ich poste einfach mal die Beispiele:
Ich versuche von meiner anwendung den wert distance aus der .dll auszulesen.
Die .dll sieht so "ähnlich" aus
namespace ISXWoW
{
using System;
using System.Collections.Generic;
using System.Data;
using System.Runtime.InteropServices;
using ISXWoW;
using LavishScriptAPI;
public class ISXWoW
{
public ISXWoW() : base()
{
}
public WoWActivePlayer Me
{
get
{
return WoWActivePlayer.GetInstance();
}
}
}
public class WoWObject : LavishScriptObject
{
public WoWObject(LavishScriptObject lavishObj) : base(lavishObj)
{
}
public double Distance
{
get
{
return LavishScriptObject.GetMember("Distance");
}
}
Nun kann ich zwar mit:
ISXWoW.ISXWoW isxwow = new ISXWoW.ISXWoW();
verschiedene sachen abrufen in dem ich isxwow.me bla bla.. benutze
(funktioniert wunderbar)
wenn ich aber nun die public double Distance erreichen will hab ich es mit
ISXWoW.WoWObject wowo = new ISXWoW.WoWObject ();
double test = wowo.Distance probiert.
Dann kommt schon beim compilen:
Fehler 1 Keine Überladung für die WoWObject-Methode nimmt 0 Argumente an.
Wie komme ich nun an den wert von distance ran?
Dankeschön Barbara
Hi!
Hast Du Dir eigentlich den Sourcecode in Deinem Posting
mal durchgelesen? Hast ihn auch verstanden? Die selben
Fragen gelten auch für die Fehlermeldung...
Hast Du ein "LavishScriptObject" - Objekt?
lg
Hallo Barbara,
ich kann mich zwar M@TUK anschließen ("hast Du ... durchgelesen"), möchte Dich aber trotzdem direkt auf Deinen Fehler hinweisen.
Original von Barbara
Fehler 1 Keine Überladung für die WoWObject-Methode nimmt 0 Argumente an.
Der Compiler weist Dich also darauf hin, dass Du Deine wowo-Instanz mit einem Argument erzeugen musst, und laut Deklaration des Konstruktors brauchst Du dazu ein "LavishScriptObject". Du musst also ungefähr so arbeiten:
// irgendwo vorher:
LavishScriptObject lavScrO = new LavishScriptObject(irgendwas);
// und jetzt:
ISXWoW.WoWObject wowo = new ISXWoW.WoWObject(lavScrO);
double test = wowo.Distance;
Außerdem fällt mir auf, dass die Klasse WoWObject abgeleitet ist von LavishScriptObject und für den Konstruktor ein Objekt der Basisklasse verlangt. Bist Du Dir mit dieser Verschachtelung sicher?
Auf jeden Fall gesegnete Weihnachten! Jürgen