Hallo,
wie kann man denn USB-Geräte unter .NET ansprechen? Es handelt sich um ein kleiner Hardwareteil mit Digitalen Ein- und Ausgängen.
Besten Dank
Jürgen
Bei CodeProject gibts dazu ein Beispiel was so denke ich genau das tut was du vorhast. Schau mal hier. Kann sein das du ein Account brauchst. Ist vor free.
Schau Dir mal die KeyPreview Eigenschaft der Form an, dass sollte dein Problem mit den MessageBoxen lösen.
KeyPreview:
Ruft einen Wert ab, der angibt, ob das Formular Tastaturereignisse empfängt, bevor das Ereignis an das Steuerelement übergeben wird, das den Fokus besitzt, oder legt diesen fest.
Also ich empfehle Programmer's Choice: Visual C# (Frank Eller + Michael Kofler)
1. Grundlagen...
2.Windowsprogrammierung
(Kein DirectX aber dafür GDI+)
Ich habe den Fehler nun gefunden. Es lag wohl daran, dass ich COM-Objekte, managed und unmanaged code miteinander mixen wollte. Nun kompiliere ich einfach ohne die Common Language Runtime, und alles ist paletti! Dazu habe ich allerdings noch eine Frage (kenne mich leider noch nicht so gut aus): Ist das dann eigentlich noch .NET, oder ist es nunmehr normales C++?
Ausserdem hätte ich gerne noch Stellungnahmen zu folgender These, die ich neulich von einem bekanntem aufgeschnappt habe:
In der CT war angeblich ein Artikel (vor vielleicht 2 Monaten), der bewiesen haben soll, dass stark objekt-orientierte C++ Programme unter .NET eine bessere Performance haben, als normal (also nicht .NET). Entspricht das der Wahrheit?
Danke an all jene die antworten sollten,
und fröhliche Weihnachten!
Ich habe mich jetzt entschieden alles komplett in C# zu schreiben.
Ich habe es jetzt hinbekommen Direct3D zu initialisieren. In meinem Fenster habe ich eine Picture-Box erstellt, in das gerendert werden soll.
Wenn ich das Programm starte, bleibt meine Picture-Box aber leer! Erst wenn ich die Größe des Fensters etwas verändere, wird etwas gerendert. Was ist das Problem? Woran liegt das?
public Form1()
{
InitializeComponent();
renderer=new Renderer();
renderer.Init(pictureBox1);
}
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
renderer.ClearScreen();
}
Und jetzt die Renderer-Klasse:
public void Init(System.Windows.Forms.Control control)
{
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true;
presentParams.BackBufferCount = 1;
presentParams.SwapEffect = SwapEffect.Discard;
presentParams.EnableAutoDepthStencil = false;
//presentParams.PresentFlag = PresentFlag.None;
presentParams.BackBufferWidth = control.Width;
presentParams.BackBufferHeight =control.Height;
presentParams.BackBufferFormat = Microsoft.DirectX.Direct3D.Format.Unknown;
presentParams.FullScreenRefreshRateInHz = 0;
presentParams.PresentationInterval = PresentInterval.Immediate;
presentParams.DeviceWindow = control;
device= new Device(0,DeviceType.Hardware, control,
CreateFlags.HardwareVertexProcessing, presentParams);
}
public void ClearScreen()
{
device.Clear(ClearFlags.Target,System.Drawing.Color.Blue,1.0f,0);
device.Present()
}
Was mache ich denn falsch?
Also du kannst C++ sowohl mit VC++.net 2002/2003 als auch mit dem kommenden Whidbey noch als nativen Code compilieren. Der wird sicher nicht langsamer sein, sondern schneller als der vom VC++6.0 Compiler.
Die zweite Variante ist dann als IL. Das ist in einigen Fällen langsamer als Native. Allerdings wird auch hier nix interpretiert sondern gejittet. Kann in manchen Szenarios aber sogar schneller sein als der statisch compilierte Code!
"oder gibt es immer noch so etwas wie MFC bzw. echte Win32/64 Applikationen?"
Wieso sollte es MFC nicht mehr geben? (MFC stirbt jetzt so langsam vor sich hin, glücklicherweise dank .net! )
Wie definierst du "echte" Win32/64 Apps?
also ich moechte folgendes machen...
es geht um eine webseite die etwas unuebersichtlich ist (aber von mir sehr haeuffig benutzt) diese soll ausgewertet werden und uebersichtlicher dargestellt werden (eigentlich nichtmehr unbedingt in html)
zum einloggen wird ein html form benutzt mit submit button
man kann ja zur toolbox von studio .net (ueber com ein) activex browser dings hinzufuegen und html seiten in den forms darstellen.
1. Frage: wie kann man direkt auf die html elemente (z.b. in dem fall der submit button) ueber c# zugreifen
2. Frage: kann man irgendwie den Quelltext der seite sich uebergeben lassen und da daten rausparsen um die dann ueber gdi+ darzustellen?
waer net wenn mir jemand hilft....
achso die applikation soll fuer eine spezielle webseite sein..diese hat auch kein java oder flash usw. drin.
hast Du vor dem Update des DataAdapters ein OleDbCommandBuilder bzw ein SqlDbCommandBuilder Objekt erzeugt ?
also etwas in dieser Art:
OleDbCommandBuilder cb = new OleDbCommandBuilder(myDataAdapter);
zu beachten ist, daß der CommandBuilder nur mit einer einzigen Tabelle im DataAdapter zurechtkommt.
Gruß CMig
Also, seitdem ich diese Lösung habe, kommt immer eine Fehlermeldung, wenn in der Datatable zu viele Werte sind:
An unhandled exception of type 'System.NullReferenceException' occurred in system.windows.forms.dll
Additional information: Object reference not set to an instance of an object.
Ich kann mir das nicht erklären! Weiß jemand Rat?
@Mods: Huhu, jemand da??? Dieser Thread sollte verschoben werden!!!
@jarule2001: wenn dein beitrag nicht mehr verschoben wird, einfach einen neuen erstellen im ANSI C forum. ( auch wenns hier nicht gerne gesehen..)
Ansonsten erlaeuter mal genauer wo dein Problem liegt. Poste einfach mal den code den du schon geschreiben hast, und sag wo es da hagt. Dann wird dir sicher geholfen
Hiho,
bin gestern erstmalig über eine Sache gestolpert, für die ich noch keine saubere Lösung weiß:
Mein Programm braucht eine
[[assembly:FileIOPermission(SecurityAction.RequestMinimum, Unrestricted = true)]
damit es seine Aufgabe erledigen kann. Soweit kein Problem, wenn ich die Exe von meinem lokalen Rechner starte.
Nun lege ich aber die Exe auf ein Serververzeichnis, wodurch es in die Sicherheitszone "Intranet" wechselt. Starte ich das Programm nun, wirft es zu Beginn eine Security-Exception (was ja auch ok ist).
Darauf füge ich das Programm mit dem .NET-Assistenten (Systemsteuerung|Verwaltung|Microsoft .NET Framework-Assistenten) über eine Laufzeitsicherheitsrichtlinie so hinzu, daß es Vollzugriff auf das Laufwerk hat.
Alles kein Problem soweit.
Mich würden aber nun zwei Dinge interessieren:
ich kann die notwendigen Rechte doch auch in XML-Form notieren, aber wie muß die XML-Datei dafür aussehen?
wenn ich nun die Exe neu erstelle, gelten die Rechte nicht mehr (logisch, da sich der Hash ändert). Ich will aber, daß die Rechte erhalten bleiben, auch wenn ich eine neue Exe auf den Server lege.
Wie kann ich das tun? Ich will auch nicht global das gesamte Intranet freischalten, das wäre zuviel des Guten. Kann ich z.B. bestimmte Verzeichnisse trusted machen? Oder die gesamte Entwicklungslinie meiner Exe (also auch künftige Versionen) pauschal freischalten?
Nein will ich nicht aber ich soll für Chef rausfinden wo der unterschied zwischen C++ und c# ist ( eigentlich was die neue Delphi version die ja .NET können soll kann aber das wird sich ja nicht viel tun )
Und irgentwie soll die software modulartig über applets abgewickelt werden jetzt frage ich mich ob sowas möglich ist!
CU
Dagsta
Ich bin am verzweifeln. Ich möchte gerne, dass meine Buchstaben, die ich auf eine Bitmap male, ganz weit rechts ausgerichtet sind wie bei StringFormat.GenericTypographic
Ich möchte gerne herausbekommen, welches Element dafür verantwortlich ist, dass der Text ganz rechts steht.
Seht selbst:
StrFormat=new StringFormat();
StringFormat fmt=StringFormat.GenericTypographic;
StrFormat.FormatFlags=fmt.FormatFlags;
StrFormat.SetDigitSubstitution(fmt.DigitSubstitutionLanguage,fmt.DigitSubstitutionMethod);
StrFormat.Trimming=fmt.Trimming;
StrFormat.Alignment=fmt.Alignment;
StrFormat.LineAlignment=fmt.LineAlignment;
float tb;
float[] Ar=fmt.GetTabStops(out tb);
StrFormat.SetTabStops(tb,Ar);
StrFormat.HotkeyPrefix=fmt.HotkeyPrefix;
Das müsste jetzt doch das gleiche sein, oder? (also fmt und StrFormat)
Allerdings wird bei dem einen (fmt) ganz weit rechts der Text gemalt, bei dem anderen wie gehabt!! *grr*
Was soll ich ändern?
Hi
So wie ich das versanden habe kann ich also Anwendungen also nicht dynamische Webseiten sondern richtige Programme über den IIS einem Kunden zur Verfügungstellen und das ganze steht dann in irgenteiner interaktion von wegen Rechten und so zum IIS?
kann mir einer mehr zu diesen nennen wir sie mal "Applets" erzählen?
Vielen Dank im Vorraus
Dagsta