Hi,
schau dir mal die folgenden beiden Seiten an:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724072%28v=vs.85%29.aspx
und
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724858%28v=vs.85%29.aspx
Wenn ich das richtig sehe, dann musst du nur die Funktion RegDisableReflectionKey aufrufen.
mfG
KaPtainCugel
Ich denke sie sollte private sein damit das Konzept der Kapselung eingehalten wird, sie soll nicht von außen aufgerufen werden, also sollte sie nach außen auch nicht sichtbar sein.
Nein sowas gibt es in C++ nicht.
Der Grund der Änderung ist, dass C# im Gegensatz zu C++ keine freien Funktionen mehr erlaubt.
Die Vorteile vom verbieten freier Funktionen:
-Es gibt eine bessere Kapselung, damit keine Namensprobleme (du kannst deine Funktion ja nicht 'foo' nennen wenn eine freie Funktion schon 'foo' heißt)
- Macht Reflection einfacher
- Es macht die Sprache einfach wenn man sagt es gibt nur Klassen und nicht auch noch freie Methoden
Ich verstehe nicht ganz was du meinst, du kannst die Main in C++ einfach nicht ein eine Klasse packen.
Soweit ich weiß ist das nicht möglich, du könntest höchstens ein "MouseMove" Event verwenden,
dann könntest du feststellen wenn der Mauszeiger über eine der PictureBoxes bewegt wird - funktioniert allerdings nicht wenn der Mauszeiger gedrückt ist.
Wie wäre es denn wenn du - als Alternative zu den PictureBoxes - ein Panel benutzt und das "Paint" Event benutzt um das zu zeichnen was durch die PictureBoxes dargestellt wird ?
Dravere schrieb:
.... daher verstehe ich echt nicht, worauf du hier genau hinauswillst ....
Vielleicht will er die Konzepte und Paradigmen von .NET und C# selbst mit C++ oder native C in einer reinen Windows-Umgebung nachbilden, um die dahintersthenden Details zu verstehen? Von C++ kommend kann man das alles auch so verstehen und ohne viele Mühe anwenden können.
Vorschlag: Lasse Consol-Anwendungen beseite und beginne mit WindowsForms-Anwendungen. Man lernt nicht erst Kfz-Mechanik, um ein Auto zu fahren oder zu kaufen. Führerschein machen und als Anfänger sicheres Beherrschen üben reichen da aus!
Was mir noch aufgefallen ist: verwende möglichst keine absoluten Pfade in deinem Programm, sondern verwende die GetFolderPath-Methode mit der Environment.SpecialFolder-Enumeration als Parameter:
Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Und zum Verbinden zweier (Teil-)pfade verwende die Path.Combine()-Methode:
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
path = Path.Combine(path, "CHART-BILDER");
string filename = DateTime.Now.ToString("yyyy.MM.dd.hh.mm.ss")+".jpg";
string path_with_filename = Path.Combine(path, filename);
Ab .NET 4 kannst du auch Path.Combine mit mehr als 2 Parametern aufrufen, z.B.
string path_with_filename = Path.Combine(path, "CHART-Bilder", filename);
Hallo ich brauche mal wieder eure Hilfe.
Ich greife von meinenm Programm auf eine Excel Datei zu.
Das klappt auch alles
mit dem:
string x = ws.Range["A1","A10"].Value.ToString()
Code.
wie kann ich nun die einzelen Werte der Zellen erhalten und sie anschaulich zu formatieren.
als Ausgabe in der TB nur den string System.Object[,]
Noch eine andere Frage vieleicht könnt ihr mir auch dabei Helfen.
Ich lese aus einer Excel Datei ein Datenbereich von z.b. 6 Zellen aus.
habe das mit
Range range = (Range)ws.get_Range("Range6Z");
nun möchte ich den Bereich in einer Textbox darstellen.
Wenn ich das direkt zuweise kriege ich System.Object[,]
als Textausgabe.
Ich deken mann müsste die Zellen separieren können und über eine Schleife vieleicht Ausgeben.
hustbaer schrieb:
@Marco82
Wenn du einen Wrapper um das COM Interface hast, dann implementiere in diesem Wrapper einfach IComponent , steck das Wrapper Objekt in components rein, und fertig.
Einen zusätzlichen Wrapper (zu dem den .NET ohnehin schon für COM Objekte erzeugt) kann ich leider nicht erstellen, weil sonst die GetInterface() Methode der "Hauptschnittstelle" des COM Objekts nicht mehr funktioniert.
Wobei meines Wissens die GetInterface() Methode (der von .NET durch Interop gekapselten COM Komponente) in etwa dem IDispatch des COM-Server an sich entspricht.
COM_Komponend_3rdParty.Machine objMachine = new COM_Komponend_3rdParty.Machine();
MyNamespace.MyCOMWrapper objVersion;
objVersion = (MyNamespace.MyCOMWrapper)objMachine.GetInterface(COM_Komponend_3rdParty.DNC_INTERFACE_OBJECT.DNC_INTERFACE_VERSION);
Exception:
Der System.__ComObject-Typ kann nicht in MyNamespace.MyCOMWrapper konvertiert werden.
Danke, mit der Geschwindigkeit hatte es nichts zu tuen.
War nen Programmierfehler, man darf die initialisierung von UsbSpi nich in eine eigene Klasse packen, sonder musste sie in der Form Klasse als Global initialisieren.
Kann ich mittels HttpListener Sessions anlegen/bearbeiten?
Für einen kleinen Miniwebserver möchte ich dass Nutzer anhand einer Session wiedererkannt werden können.
Der Miniwebserver verwendet die HttpListener-Klasse.
Ich finde im Web habe ich bisher leider nichts passendes gefunden.
JKa also ich habe schon seit einige Zeit mit VBA , VB , C++ programmiert und jetzt seit ca. 2 Monten mit C# .
Weiß da schoon ein paar sachen, mir fehler einfach immer ein paar Tips zu bestimmt Themen.
Haben z.B. die Daten die ich von der Txt auslesen wollte im Moment im Programmcode. Das Möcvhte ich nur auslagern.
Und ich möchte damit eine dynamischere Änderung bewirken. Auch für Arbeitskollegen die nicht programmieren können.
Mein Ziel ist es für ca. 20 verschiedene Elektronikkarten die Nennwerte
abzurufen.
Und das ist im Moment im Code, wollte es auslagern in einen TXT und ganz später ein mal in eine Datenbank.
Aber wiegesagt stehe am Anfang und muss mich langsam herran arbeiten.
Hallo Leute,
ich versuche gerade wie in unzähligen Tutorials beschrieben ist das Shockwave Flash Object mit Visual Studio 2010 in einer Windows Forms Anwendung zu verwenden. Doch leider kann ich es bei mir unter den COM - Steuerelementen nicht finden:
http://imageshack.us/f/607/comfj.jpg/
Das Steuerelement hat in den Tutorials immer einen Pfad in dem es einen Macromedia Ordner gibt. Wird der Flash Player nicht mittlerweile von Adobe verwaltet? D.h. werden da vl. immer alte Versionen verwendet?
Kennt irgendwer eine Möglichkeit wie das funktioniert? Gibt es irgendwo eine Version des Flash Players die sicher funktioniert?
Hier noch ein so ein Tutorial von dem ich spreche: http://www.youtube.com/watch?v=_mH378IyJH8&noredirect=1
Vielen dank für eure Hilfe!
Hi,
abgesehen davon, dass meiner Meinung nach ein ; hinter den Servernamen gehört, ist hier wohl das Problem, dass du auf dem Webserver mit einem anderen User eingeloggt bist als auf deinem lokalen Rechner. Da du Integrated Security=True gesetzt hast, wird also versucht sich mit dem aktuellen Windows-Benutzer auf dem SQL Server anzumelden, der wird beim Webserver im Zweifel anders aussehen als lokal bei dir und muss im SQL Server noch die nötigen Berechtigungen bekommen.
mfG KaPtainCugel
Wie kommst du auf diese seltsame Idee? Nur WinRT Applikationen müssen per App-Store installiert werden. C# oder .Net Desktopanwendungen unterliegen dieser Einschränkung nicht. Zumindest wäre das was ganz neues...
Grüssli
Anksunamun schrieb:
Ich will also den String als Variablen-Namen ansprechen.
Heißt das auch, dass du in Checker 30 int-Variablen hast oder ist dein Beispiel nur eine vereinfachte Form? Denn dann könntest du die Werte auch in einem Dictionary<string, int> ablegen und den String aus TextBox.Name als Key verwenden.
Ansonsten könnte vielleicht auch http://msdn.microsoft.com/en-us/library/system.windows.forms.control.tag.aspx helfen, die unelegante Reflection-Lösung zu vermeiden.