Ich behaupte das Sql-Statement ist falsch. Steht aber auch in der Fehlermeldung.
Desweiteren würde ich Parameter verwenden anstatt stumpf das Sql-Statement zusammenzustückeln.
Für automatische Code-Formatierung im VS empfehle ich {url=http://www.codemaid.net/]CodeMaid[/url].
PS: Ich bezog mich bei meinem vorherigen Beitrag auf den von freaky.
Selber nutze ich bei mehreren [i]using[i] auch eure Schreibweise - mir ging es nur um das Verständnis.
Int als rückgabe hatte ich gewählt um die 3 Zustände (keine Klammer,Klammer oder fehlerhafte Klammersetzung) zu bekommen.
Mit Exceptions habe ich bis dato noch nichts gemacht, werde mir es mal anschauen was das so kann
Ich hab hier einen Out-Of-Process COM Server der in C# implementiert ist.
Dessen Type-Library erzeuge ich mit tlbexp.exe , was auch schön funktioniert.
Verwendung aus C++ Projekten heraus ist auch kein Problem, geht alles wunderbar.
Jetzt möchte ich diesen COM Server aus einem C# Projekt ansprechen. Naheliegend wäre einfach eine COM Referenz in das Projekt reinzuklicken bzw. tlbimp.exe zu verwenden.
Beide weigern sich aber mit der Fehlermeldung
The ActiveX type library 'XXX' was exported from a .NET assembly and cannot be added as a reference.
Visual Studio meint noch "hilfreicherweise"
Add a reference to the .NET assembly instead.
Mit ist klar was MS sich dabei gedacht hat, aber ... herrjeh, das ist ein Out-Of-Process COM Server, ich kann und will keine Referenz auf die .NET Assembly statt dessen verwenden.
Ich hab schon länger gesucht, finde aber keine Tips wie man das umgehen kann.
Schön wäre ein automatisierbarer Weg. Jedes mal von Hand an der TLB rumzufummeln oder aber handgeschriebene COM Import Klassen in einem C# Projekt zu pflegen ... darauf würde ich gerne verzichten.
Also. Weiss jemand wie man das hinbekommen kann?
EDIT: Grammatik
NullBockException schrieb:
frage ist, ob das besser bzw. performanter ist, Vorteil ich kann dann reflections um typen zu filtern etc.
Schneller als was? Als Reflection? Mir ist noch nicht wirklich klar, wie dein Typsystem bisher technisch funktioniert.
Auf jeden Fall wird die Performance von dynamisch kompiliertem Code kaum zu schlagen sein. Da kommt Reflection nicht ran. Außer, du machst quasi nichts mit deinen neuen Typen und brauchst sie nur ein mal, dann wär das natürlich eher kontraproduktiv.
Reflection ist an sich schon recht schnell in .NET. Ich hab früher einiges damit gemacht und es war einfach schnell genug, es war bisher nicht wirklich nötig, dynamisch Code zu generieren. Wenn dir die jetzige Performance deiner Lösung auch reicht, brauchst du das ja auch nicht verbessern. Außer zum Spass.
NullBockException schrieb:
Danke, aber das kenne ich:) ich meinte wie kann ich automatisch die Anzahl der Wellen zubereite erhöhen bzw. Verringern?
Wohl kaum. Ich kopier Dir mal ein Beispiel aus dem Wegener in XAML.
<PathGeometry>
<PathFigure StartPoint="100.50">
<QuardraticBezierSegment
Point1="300.100"
Point2="100.150" />
<!-- . oder , hängt von Kompilereinstellung ab -->
</PathFigure>
etc
ungetestet, auf Tablett getippt.
Jetzt brauchst Du nur die Punkte für Frequenz und Amplitude neu zu berechnen nach Abstand für die Segmente. Trivial ... Das war leicht im Netz zu finden.
Danke für die Antworten!
War mir garnicht bewusst das es in C# eine Preprozessor gibt, hab mit der Sprache nicht so viel am Hut gehabt - wobei sie mir super gefällt.
Ich habe hier einen Code der für Windows geschrieben ist - er macht einen DllImport auf Funktionen aus der Kernel32.dll . Ich möchte den Code unter Linux & Mono laufbar machen, dh. ich möchte den Windows Code bei Linux als Target durch äquivalenten Code ersetzen der aus der libc.so importiert.
Also scheint das mit dem Preprozessor der richtige Weg zu sein.
oenone schrieb:
Sicher, dass das Executable neu gebaut wurde? Evtl zwischen Debug und Release gewechselt?
Es stand nach wie vor auf Debug
Nunja, ich habe jetzt den gesamten Code per C&P in ein neues Projekt eingefügt und es funktioniert alles wie vorher.
Wäre das Problem soweit erstmal gelöst, aber interessieren tut mich dennoch:
Woran konnte das liegen? Hat das Projekt in dem der Fehler aufgetreten ist irgendeinen Schaden genommen?