Gut Dankeschön.
Brauchte nur den Namen^^ Habe mir nun die Syntax rausgesucht und es funktioniet.
Vielen Dank!
Ich weiß meine Fragen sind kurz, aber ich hänge meistens bei ganz kleinen Stückchen und da brauch ich etwas Hilfe.
mfg
Hallo,
ich habe in meiner C++/CLI & WinForms Anwendung ein TabControl mit 4 Seiten. Ich wähle dann im Forms Designer eine TabPage aus und ziehe einige Controls (Buttons etc.) auf die TabPage. Wenn ich dann die Anwendung ausführe, sieht man kein einziges Control auf der TabPage! Wie kann das sein? Im Forms Designer sehe ich sie ja, aber wenn ich die Anwendung starte, sind meine TabPages leer.
?!
Hehe, nein ist schon okay. Ich hab das jetzt folgenderweiße geregelt:
//Projekt.Interface.Xml
public interface IXml<T>
{
XDocument ToXml();
IEnumerable<T> ReadData();
}
//Projekt.Spell
public class Spellbook : Interface.Xml.IXml<Spell>
{
//...
public IEnumerable<Spell> ReadData(
{
XDocument xdoc = XDocument.Load("Datenbank.xml");
var allspells = from s in xdoc.Elements("Spell")
select new Spell
(
//...
);
return allspells;
}
}
Vielen Dank
Ich musste nur die ganzen Floats in doubles machen(wegen inkompatiblen Datentypen bei Math.Sqrt) und eine gewisse ungenauigkeit hinnehmen(button1.Location erwartete 2 int WErte >.<), aber sonst: ALLES PERFEKT. Vielen Dank.
crkn schrieb:
Gut, wenns hier sonst auch keiner weiß, bin ich ja beruhigt.
Ist doch ziemlich logisch, wieso es nicht geht. Als ich nochmals den Code angeschaut habe, welchen du hier exportieren willst, war es mir sofort klar. Vorher hatte ich das übersehen, weil der Code nicht in entsprechenden Code-Tags war.
Du willst über eine C Schnittstelle eine C++ Klasse std::string zurückgeben? Wie stellst du dir vor, dass dies gehen soll, wenn C gar keine std::string Klasse kennt? Und mit P/Invoke ruft man schliesslich auch C Funktionen auf, daher kannst du das C++ in der Signatur sowieso knicken.
Das ganze geht übrigens deutlich einfacher:
[DllImport("foo2.dll", CharSet = CharSet.Ansi)]
private static extern String bar2(ushort param1, ushort param2, ushort param3, ushort param4, ushort param5, uint param6);
Und die C Schnittstelle bar2 muss natürlich weiterhin einen char const* zurückgeben. Wobei mich gerade wunder nehmen würde, wie du diesen char const* zurückgibst. Ich hoffe, dass es nicht sowas ähnliches ist:
extern "C" __declspec(dllexport) char const* bar2(...)
{
std::string obj;
// ...
return obj.c_str(); // <- ARGH!!
}
Grüssli
Erinnert mich jetzt gerade:
http://german-bash.org/25242
Gut, du programmierst wohl kein Wurm, aber irgendwie erscheint mir für diese Aufgabe C# ein wenig die falsche Sprache zu sein
Aber noch zwei Dinge:
IntPtr.ToInt64
IntPtr(Int64)
Also speichere das Dinge in einem Int64 ab auf 32 und 64 Bit Architektur. Der Konstruktor wirft eine Exception, wenn du unter 32 Bit bist und die Adresse ausserhalb des möglichen Adressbereichs ist.
Grüssli
hi kann mir bitte jemand helfen?
was muss ich machen um das Form wieder herzustellen?
Warnung 1 Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben. 0 0
Instanzen dieses Fehlers (1)
1. Aufrufliste ausblenden
bei EnvDTE.CodeFunction.GetStartPoint(vsCMPart Part)
bei Microsoft.VisualC.CppCodeParser.OnMethodPopulateStatements(Object sender, EventArgs e)
bei System.CodeDom.CodeMemberMethod.get_Statements()
bei System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
bei System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
bei Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
bei Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)
<Kleinkariert>
volkard schrieb:
Wir müssen ihn rauswerfen und als Vorgesetzten neu einstellen.
das gibt einen neuen Arbeitsvertrag und das ist eine Änderungskündigung (AFAIK)
</Kleinkariert>
@Burkhi: Stimmt, malloc gibt es nicht in C#.
Jeder weis aber, dass malloc für die Speicherreservierung steht bzw. stehen sollte. (Ich glaube, das Thema hat sich sowieso erledigt.)
Hmm den Ansatz hab ich schon versucht, aber ich komm über die Range nur an die Felder ran und nicht an die darüberliegenden Steuerelemente.
Ein Parsen einer Zelle in eine CheckBox würde leider wenig Sinn machen.
Es sollte theorethisch eine Art Objektliste geben, über die man da rankommt, aber ich finde sie nirgends.