Schau dir doch mal die Process Klasse etwas näher an!
Da findest du folgende Properties und Events:
EnableRaisingEvents -> Dies auf true setzen
SynchronizingObject -> Hier am besten dein Control übergeben;
Und auf sich beim Event Exited anmelden.
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum C# und .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Optimizer schrieb:
*lol* gerade entdeckt:
Java Specification Request schrieb:
Native Java arrays are strictly one-dimensional. Multidimensional arrays are simulated as "arrays of arrays". That means, for example, that each element of a double[][] array is a double[] array. Arrays of arrays are very general and therefore more difficult to optimize. For instance, for a double[][] a, rows a[i] and a[j] may have different lengths. Bounds checking optimization is an example of an optimization that can be better performed when arrays are known to be rectangular (as in true multidimensional array). Furthermore, the "array of arrays" approach opens up more possibility for aliasing. For instance, for a double[][] a and double[][] b, it is possible that a[i] and b[j] refer to the same row. In fact, it is possible that a[i] and a[j] (i != j) refer to the same row. Many advanced compiler optimizations rely on accurate aliasing disambiguation.
Ich saug mir was aus den Fingern und es stimmt auch noch.
Sagte ich doch bereits in meinem letzten Posting
hi,
bei den absoluten Mauskoordinaten kommt kommen immer so komische werte wie z.B. für X 314029494 , Y: -61232490 etc. und beim Bewegen der Maus ändert sich nur die letzten paar Zahlen. An was liegt das?
device = new Device(SystemGuid.Mouse);
device.SetDataFormat(DeviceDataFormat.Mouse);
device.Properties.AxisModeAbsolute = true;
device.SetCooperativeLevel(this.Handle, CooperativeLevelFlags.NonExclusive |
CooperativeLevelFlags.Background);
device.Acquire();
....
MouseState mousestate = device.CurrentMouseState;
string info = "Mouse: ";
info += "X:" + mousestate.X + " ";
info += "Y:" + mousestate.Y + " ";
info += "Z:" + mousestate.Z + " ";
this.Text = info;
danke schonmal im voraus!
Noodles schrieb:
Ich habe es gelesen und finde es ganz gut.
Hier gibt es das Buch 74% billiger.
Ok, dann hole ich es mir auch und bei amazon.de bekomme ich es auch billiger und muss keine Woche warten bis ich es habe (deshalb bestelle ich bei terrashop nicht ganz so gerne, auch wenn der shop kalsse ist)
selber schreiben.
Der Designer generiert dir aber die dazugehörigen commands automatisch, jedoch nur bei simple select befehlen. Das ist für dich ausreichend, damit kann man gut die funktionalität erlernen. Für komplexe Abfragen ist das Teil schrot.
Hallo, vielleicht kann mir jemand helfen:
Klasse A wird über eine verteilte ClassFactory einem Client
zur Verügung gestellt. Der Client spricht Klasse A über das Interface IA an.
Klasse B wird auch über eine verteilte ClassFactory einem Client
zur Verügung gestellt. Der Client spricht Klasse B über das Interface IB an.
Möchte ich nun im Client ein ProxyObject von A(IA) als Parameter für eine Methode der Klasse B verwenden, kommt es zur folgenden Exception. Warum?
System.Runtime.Serialization.SerializationException
Zusätzliche Informationen: Auf den Typ 'System.Runtime.Remoting.ObjRef' kann aufgrund von Sicherheitseinschränkungen nicht zugegriffen werden.
Danke für die Hilfe.
Gruss
SlEasy
Hallo Zusammen,
habe eine DLL Funktion, die als Returnwert einen Zeiger auf eine Struktur gibt.
Jetzt möchte ich diese Struktur in C# auslesen. Doch leider erhalte ich immer folgende Fehlermeldung beim ausführen
Zusätzliche Informationen: return value kann nicht gemarshallt werden.
Die Funktion in der DLL Datei hat etwa diesen Aufbau
struct K
{
int x;
}k[10];
extern "C" __declspec(dllexport) StrukturDaten * __stdcall Lesen()
{
k[0].x = 1;
k[1].x = 5;
return k;
}
und in der C# Datei
public struct K
{
public int x;
}
[DllImport("xxx.dll")]
unsafe static extern K [] Lesen();
...
K [] k = new k[10];
unsafe
{
k= GWSearchTargets();
}
Hoffe ihr könnt mir Helfen, oder soll ich die Strutur Daten anders zurückgeben. z.B. Call by Reference, wenn ja wie wir das gemacht, hier will c# auch nicht mitmachen?
DieKlasse (B) wird instanziiert von einer Klasse(A) die MarshalByRefObj beerbt. A wird sauber serialisiert und deserialisiert. Beim Zugriff auf B über A kommt es zu der besagten Exception.
[Serializable]
public class DieKlasse {
private string m_Directory;
private ComponentList m_Components;
public DieKlasse(Type theType, string theDirectory) {
m_Directory = theDirectory;
m_Components = new ComponentList();
foreach(string aFileName in Directory.GetFiles(m_Directory, "*.dll")) {
Assembly aAssembly = Assembly.LoadFrom(aFileName);
foreach(Type aType in aAssembly.GetTypes())
if(aType.GetInterface(theType.Name) != null)
m_Components.InsertComponent(aType, aAssembly);
}
}
public object LoadComponent(string theComponentName) {
return m_Components.CreateComponent(theComponentName);;
}
public ComponentList ComponentList {
get { return m_Components; }
}
}
h4xX0r schrieb:
Noodles schrieb:
[cs]OpenFileDialog o = new OpenFileDialog();
if(o.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(o.FileName);
textBox1.Text = sr.ReadToEnd();
sr.Close();
}[/cs]
Danke, dass hatte ich doch glatt vergessen.
Und? Die BCL gehört auch zum .Net Framework aber nicht zur Sprache C# an sich. Nur weil die STL zum C++ Standard gehört, heißt es doch nicht automatisch das es zur Sprache an sich gehört.
Optimizer schrieb:
Ich behaupte mal, keiner von uns beiden hat endgültig Recht, da absolut ungeklärt ist, in welchem Zusammenhang diese Klasse/struct verwendet werden soll.
Wir könnten uns auch mal was vielleicht klareres anschauen. Bei einer Klasse für Brüche (Schnittstelle bestehend aus Zähler/Nenner sowie Operationen) könnte man geneigt sein, zu sagen, Vererbung ist hier nicht nötig/sinnvoll. Da würde sich dann ein struct wirklich anbieten.
Ja, ok. Vermutlich hat keiner von uns Recht. Aber wir sind vom Thema abgekommen. Es ging um Properties.
Ja, ich habe in der Library nachgeschaut, wo bei normalen PC-Projekten diese Klasse verfügbar ist, dort sind zwar einige Klassen in diesem Namespace, jedoch keine, die mir Objekte serialisiert (bis zur Ebene System.Runtime...)! Auch CodeCompletition gibt mir keinen Hinweis darauf, dass diese Klasse nicht exisistiert Ich denke auch nicht, dass es Reflections unterstützt, wo kann man das nachschauen?
Wenn es keine Lösung gibt, dann muss ich halt das auf CSV-Basis zu schreiben, aber es muss doch einfacher gehen ....
Danke nochmal für die Antwort
Hi,
einfach im Try-catch-Block drauf zugreifen:
private bool ConnectToServer(out IServer Server)
{
Server=null;
try
{
Server=Activator.GetObject(typeof(IServer),"Server.tcp");
// Server ist nun ein Proxy-Object. Die Verbindung zum Server ist aber noch nicht hergestellt
// hergestellt wird die Verbindung erst bein ersten Zugriff auf das Objekt
// dazu kann man eine Property im Server einbauen, welches einfach true zurückgibt: ich nenns mal "Online"
return Server.Online; // wenn er nicht online ist, gibs hier ne Exception und diese Methode gibt false zurück.
// im Property "Online" kann man dann noch Zustände auf dem Server prüfen.
// Beispielsweise könnte ein Server von einem anderen Server abhängigsein.
// In dieser Eigenschaft könnte man dann prüfen,
// ob eine Verbindung hergestellt werden kann.
}
catch(Exception E)
{
Console.WriteLine(E.Message);
Server=null;
return false;
}
}
ist noch nicht perfekt, aber schon ein brauchbarer Ansatz.
InputBox? Meint Ihr vielleicht die TextBox. Und wo du von Borland C++ sprichst, meinst du vielleicht eine Entwicklungsumgebung? Wenn du eine meinst, dann versuch doch mal "Visual C# 2005 Express Edition Beta". Microsoft gibt das Ding zurzeit Free raus, um es zu testen. Da kannste einfach eine TextBox schnappen und wie gewohnt in den Dialog ziehen/zeichnen.
[Edit]Ah jetzt hab ichs verstanden. Die gibts nicht. Mit Visual C# würd ich mir dafür nen neuen Dialog anlegen, und den modal mit einer TextBox darin aufrufen.[/Edit]
Gruß
Markus Seidl