Hallo
ich möchte eine c++ Bibliothek in einem c# Projekt benutzen. Die Bibliothek wird über mehrere makefiles kompliliert. Kann ich das so umschreiben, dass ich eine .NET-Dll erhalte? Oder geht das sogar übers Studio?
Benutzt wird nmake.
Danke un Gruss
smirre
Ich würde gerne eine einfache Tabellenansicht in C# erstellen, bei der ich eine Menge Daten manuell(per Quellcode) anzeigen lassen, verändern, löschen und hinzufügen kann.
Meine Daten habe ich in einer MySQL-Datenbank, welche ich dann über ODBC einlesen kann.
Ist ja nicht so, als würde ich noch nichts versucht haben aber ListView und DataGrid haben immer irgendwelche Eigenschaften, die ich nicht verändern, abfragen oder abfangen kann und das nervt mich gewaltig.
Es würde eine Strukur wie eine Excel-Tabelle aussuchen, wo man eben nur bestimmt Zellen verändern kann.
Wie gesagt bei ListView hab' ich schon Eingabefelder für die SubItems erstell jedoch bekommt man von ListView keine Angaben über die Position der Tabelle und wohin sich bestimmte Spalten verschoben haben.
Mal abgesehen, dass das einlesen der Daten über ein DataSet relativ nervig ist und man für die ganzen angelegten Tabellen und Spalten wieder neue ColumnStyles für das DataGrid erstellen muß, weiß ich dort nicht, wie man die "Hinzufügen von Daten"-Felder deaktivieren kann bzw. abfragen kann. Genauso weiß ich nicht, wie man die Spalten verschieben kann.
Über den Datenbank-Assistenten lassen sich die MySQL-Daten nur schwer abfragen bzw. versteh ich nicht wie man sie dann ändern kann.
Wie macht ihr das mit euren Daten? Erstellt ihr selber eine Tabelle, z.B. mit Label's bzw. TextBox'es?
Oder gehe ich an die Sache falsch ran!?
Ich bedanke mich schonmal für eure Hilfe!
das folgende Beispiel bewegt den Mauscursor von den oberen linken Ecke zu der unteren rechten.
using System.Runtime.InteropServices;
....
private void button1_Click_2(object sender, System.EventArgs e)
{
for (int i = 0; i <= 65535; i++)
{
mouse_event(1 /* MOUSEEVENTF_MOVE */ | 32768 /* MOUSEEVENTF_ABSOLUTE */, i, i, 0, 0);
}
}
[DllImport("user32.dll")]
private static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
mehr Informationen in der Win32 SDK Hilfe zu mouse_event()
int ist ein shorthand fuer system.int32, damit also ein objekt. das kann ich in einer object return type methode einfach zurueck geben ohne zu casten. fuer int[] (= System.int32[]) geht es nicht, habe aber inzwischen auch rausbekommen, dass es mir eh nix bringt, da ich mit dem ergebnis der methode type.invokemember(..., object[] arguments) aufrufen wollte, was natuerlich nicht geht wenn arguments ein int[] ist.
Die Zeichenanzahl kannst Du über die MaxLength Eigenschaft einstellen. Damit nur Zahlen von 1 - 5 erlaubt sind hilft folgendes.
if("12345".IndexOf(e.KeyChar.ToString()) < 0)
{
e.Handled = true;
}
[Edit] Der Code muss in das KeyPress Ereignis der TextBox.
Hi,
die Fehlermeldung hatte ich noch nicht. Aber ich versuch mal zu helfen.
hast du auf den Clients ein Channel aufgemacht ? Der Server muss ja mit den Clients kommunizieren . Das geht aber nur, wenn der Client über ein Channel erreichbar ist. Natürlich muss da auch eine eventuelle Firewall mitspielen.
Poste mal die Codezeilen, welche eine Verbindung mit dem Server aufbauen oder die
Konfigurationsdateien.
Ein anderer Grund könnte sein, dass due ein Object übergibst, welches vom Client zum Server übergeben wird. Diese Objecte werden als Referenz übergeben. Dazu muss in version 1.1 der Typfilter auf Full gesetzt werden:
// auf dem RemotingServer oder auf Client, wenn Server mit CLient kommuniziert
BinaryServerFormatterSinkProvider provider = new BinaryServerFormatterSinkProvider();
provider.TypeFilterLevel = TypeFilterLevel.Full;
IDictionary ports = new Hashtable();
ports["port"] = 3001;
TcpChannel chan = new TcpChannel(ports, null, provider);
// Channel Regristrieren
habe es gerade aufn anderen pc mit der selben msde einstellung getestet und sonst ist auch alles gleich von den einstellungen her gleich aber da gehts hmm
Klausi,
Klausi schrieb:
Aber ich würde aber lieber das Control in dem Thread bekannt machen. Weil mir das Irgent wie logischer rüber kommt.
das ist Geschmackssache. Man könnte auch argumentieren, daß Controls in einem Hintergrund-Thread nichts zu suchen haben.
Klausi schrieb:
Kannst mir das evl auch zeigen
Ich bin einigermaßen optimistisch, daß Du das durch ein wenig Nachdenken jetzt auch selber hinbekommst :D.
du kannst entweder ne neue datatable erstellen und an ein dataset anhaengen, oder
du setzt einfach ein command ab.
#1
DataSet custDS = new DataSet("CustomerOrders");
DataTable ordersTable = custDS.Tables.Add("Orders");
DataColumn pkCol = ordersTable.Columns.Add("OrderID", typeof(Int32));
ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
ordersTable.Columns.Add("CompanyName", typeof(string));
ordersTable.PrimaryKey = new DataColumn[] {pkCol};
#2
"CREATE TABLE Orders(OrderID INTEGER, OrderQuantity INTEGER, CompanyName VARCHAR(79)"
-> dann ueber ein oledbCommand absetzen
Hallo! an all die Leser und Helfer.
Wenn im Code ein Fehler auftritt, dann wird automatisch in der Aufgabenliste eine Fehlermeldung erzeugt und beim Doppelklick auf den Fehler springt es an die Zeile und markiert es .
Genau da ist mein Problem.
Wie macht es VS.NET?
Was ich brauche ist die Verknüpfung mit der Zeile, wenn ich in die Aufgabenliste Dateinamen und die Zeile Manuel eintrage.
z.B. mit
TaskItems.Add (...)
Wie kann ich dem, so einen Ereignis, wie reagiere auf Doppelklick mit Sprung auf die Zeile?
Danke für die Beiträge, Beispiele oder Infos
Hallo
Immer wenn ich einem Projekt eine datei hinzufügen will, meldet er beim kompilieren viele fehler
wie z.B. error: syntax error: CWnd... und so weiter,
aber ich habe ja alle headers eingebunden.
Muss ich irgentwas beachten, wenn ich c++ dateien mit code einbinden will??
Martin