Hi.
Wie schon gesagt kompilierst du eine normale Dll. Wenn du diese dann
zur laufzeit laden (oder extremer : erweitern + neu kompilieren) willst,
dann Verwendest du die Möglichkeiten der "späten Bindung" (was für ein Wort).
Schau mal den Typ System::Type an, dort solltest du in dem Zusammenhang
fündig werden.
mfg BlueShift
lol,
ich sitze hier an einem weniger sinvollen Problem. Fragt mich nicht,
warum ich es wissen will (es geht um eine Lib) ! Wie konvertiert man
einen GC-Pointer in einen NonGC-Pointer ? Damit es nicht zu theoretisch
wird, schreib ich mal meinen Pseudo-Code nieder :
...
void __gc *GcPtr;
void __nogc *NonGcPtr;
GcPtr = reinterpret_cast<void __gc*>(this); // Bis hier kommt _er_ noch
NonGcPtr = reinterpret_cast<void __nogc*>(GcPtr);
...
Dieser Code funtzt leider nicht. ICh hab mal was von einer gcroot<typename>-Funktion gehört. Diese will bei mir nicht so recht, obwohl ich den Header include.
Bin für jeden Hinweis dankbar !
mfg BlueShift
Mr. N schrieb:
Wie?
Für den Cyberjack von Reiner-SCT:
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace fHB
{
/// <summary>
///
/// </summary>
public class ctapi
{
[DllImport("ctsct32.dll")]
public static extern int CT_init(uint ctn, uint pn);
[DllImport("ctsct32.dll")]
public static extern int CT_close(uint ctn);
[DllImport("ctsct32.dll")]
public static extern int CT_data(uint ctn, uint dad, uint sad, uint lenc, uint command, uint lenr, uint response);
//
public ctapi(uint x, uint y)
{
if(CT_init(x, y) != 0)
{
//Fehler
}
else
{
//OK
}
}
}
}
ist nat. noch nicht fertig implementiert, aber den Rest kann man ja in der CT-API-Spezifikation lesen.
So, hab ein kleines Programm in C# programmiert.
Fakt ist, es ist nicht nur öde von der benutzung(ist mir egal), sondern ich kann keine Bilder einfühgen, sodass es besser aussieht.
Immer wenn ich das Bild einfühge und das Programm dann teste zeigt es beim Star so etwas an:
---------------------------
test.exe - Common Language Runtime Debugging Services
---------------------------
Die Anwendung hat einen Ausnahmefehler verursacht, der nicht verarbeitet werden konnte.
Prozess-ID=0xaac (2732), Thread-ID=0x1a0 (416)
Klicken Sie auf 'OK', um die Anwendung abzubrechen,
oder auf 'Abbrechen', um sie zu debuggen.
---------------------------
OK Abbrechen
---------------------------
wenn ich dann auf Abbrechen klicke um zu debuggen kommt kurz danach folgendes:
---------------------------
test.exe - Kein Debugger gefunden.
---------------------------
Der registrierte JIT-Debugger ist nicht verfügbar. Das Starten eines JIT-Debuggers mit folgendem Befehl gab folgenden Fehlercode zurück 0x2 (2). Überprüfen Sie die Computereinstellungen.
cordbg.exe !a 0xaac
Klicken Sie auf "Wiederholen", damit der Prozess während dem manuellen Anhängen eines Debuggers angehalten wird.
Klicken Sie auf "Abbrechen", um die JIT-Debuganforderung abzubrechen.
---------------------------
Wiederholen Abbrechen
---------------------------
Was soll ich tun??
Wie kriege ich den Fehler da raus??
Danke für eure Hilfe schonmal.....
Hallo!
Ich habe wohl folgendes vergessen:
Wenn Sie den Namen dieser Klasse ändern, müssen Sie die Eigenschaft
'Ressourcendateiname' für das Compilertool für verwaltete Ressourcen ändern,
das allen .resx-Dateien zugewiesen ist, von denen diese Klasse abhängt.
Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
arbeiten, die diesem Formular zugewiesen sind.
Das steht in den summarys vor der Klasse, aber wo änder ich dies und was muss ich da ändern?
Code-Hacker
Hallo Forum,
wie kann man auf Access Steuerelemte zugreifen? Es gibt im Access beim Erstellen von Abfragen in der Entwurfsansicht im unteren Bereich eine Tabelle, in die man die Tabellenfelder zieht. Hier kann man die Reihenfolge auf der Ansicht festlegen, die Sortierung ändern, Selektionen definieren, ... .
Genau dieses Steuerelement möchte ich in meinem Programm verwenden.
Kann mir jemand helfen?
mfg,
thratzinger
Hallo.
Als erstes würde ich auch mal so eine Struktur in C# anlegen.
public struct TMaschineAllgemein
{
int Maschinennummer;
byte Maschinenname[30];
int Version;
int keineAnhnung;
}
Um die Daten dann zu lesen, öffnest du einen Stream :
using System.IO;
...
TMaschineAllgemein MeineMasch = new TMaschineAllgemein();
FileStream oStream = new FileStream(DateiName, FileMode.Open);
BinaryReader oReader = new BinaryReader(oStream);
// ... Daten auslesen
oReader.Close();
mfg BlueShift
Ich habs jetzt anders gemacht, ich hab einfach eine eigene Eingabemaske erstellt da gibt man die Daten ein und auf dem Hauptformular kann man dann durch die Datenzaetze scrollen
achsoo
nun habe nach GetKeyState gesucht was ich mit vc6 nutzen kann, ob ich noch andere solche nützlichen funktionen finde .. nicht gepeilt das dies für sharp ist .. ok habe mein problem aber mittlerweile gelöst (hoff ich)
Dominic schrieb:
Was meinst Du mit BindingFramework? Diese Klassen gehören zum .NET Framework ...
Ja schon, aber ".Net Framework" ist vor allem ein Marketing-Begriff. Ein Framework in der Softwareentwicklung ist so etwas wie ein Grundgerüst, um das herum man seine individuellen Lösungen erstellt. Und das .Net Framework läßt sich in - sagen wir - "Sub-Frameworks" unterteilen, die jeweils die Grundlage für die Lösung bestimmter Problemklassen bieten. Eines davon wird häufig als "binding framework" bezeichnet. Dieser Begriff wird dann als eine Art faule Kurzform für "alles, was mit binding zu tun hat" verwendet. Über solche Sachen kann man stundenlang philosophieren ...
Dominic schrieb:
...einfacher als z.B. "currencyManager.Position++;" geht es ja kaum noch.
Also die Frage war:
rowisoft schrieb:
Wie kann man denn in der Tabelle selbst navigieren, also z.B. zum nächsten Datensatz springen?
Fall 1: Mit "Tabelle" ist eine Instanz einer der DotNet-Klassen gemeint - also z.B. ein Objekt vom Typ DataTable. In diesem Fall kann man mit
foreach (DataRow row in myTable)
einfach durch die Tabelle iterieren, per Indexer direkt auf Zeilen zugreifen oder eben das Binding-Framework verwenden (CurrencyManager), wenn man die Daten z.B. in einem Grid darstellen will.
Fall 2: Mit "Tabelle" ist die Tabelle in der Datenbank gemeint.
In diesem Fall ist ein Springen auf den nächsten Datensatz nicht direkt möglich, da keine Verbindung (CURSOR) zur Datenbank aufrecht erhalten wird. Das soll erst wieder in der nächsten DotNet-Version möglich sein.
Hi,
für die Transparenz : schau mal die Eigenschaft Opacity der Forms an.
Dort kann man über double oder float Werte die Durchsichtigkeit festlegen.
mfg BlueShift