Zum Inhalt springen

steinadler

Mitglieder
  • Gesamte Inhalte

    448
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von steinadler

  1. SET [bezeichnung ] = @Bezeichnung da ist nach Bezeichnung vorne ein Leerzeichen zuviel. Ich weiß ja nicht, wie pingelig ASP da ist.
  2. Vielleicht kommt er nicht damit klar, dass zwischen = und @ kein Leerzeichen ist? Wäre zwar komisch, aber das ist z.B. ein Unterschied zwischen beiden Aufrufen.
  3. Hallo ihr Lieben, in einem Programm rufe ich im Main() über Application.Run() ein Formular aus einer eigenen DLL auf. Wenn allerdings diese DLL fehlt und ich starte das Programm kommt aber nur eine Fehlermeldung "... hat ein Problem festgestellt und muss beendet werden". Klicke ich in diesem Dialog auf Debuggen, erscheint im VisualStudio plötzlich eine Exception "FileNotFoundException". Kann man die irgendwie abfangen? Habe schon um den Formularaufruf (Application.Run()) ein Try-Catch gebaut, aber er erzeugt die Exception irgendwie erst gar nicht. Es sieht eher so aus, als ob er die Main() gar nicht erst abarbeitet. Mein zweiter Test war, eine Messagebox vor dem Formularaufruf ausgeben zu lassen, aber nicht mal dieses funktionierte. Die Main() sieht im Prinzip so aus: Main() { Application.Run(new DLLForm()); // Vorprogramm ausführen Application.Run(new ProgramForm()); // Hauptprogramm ausführen } Hat jemand eine Idee? Wenn ich das Formular im Konstruktor der ProgramForm anzeige, funktionierts komischerweise auch mit der Exception.
  4. funktioniert jetzt..... SELECT id_element, datum, id_ort_neu FROM tbl_log WHERE (datum = (SELECT MAX(datum) AS Expr1 FROM tbl_log AS A WHERE (id_element = tbl_log.id_element))) AND (id_ort_neu = 0) ORDER BY id_element Danke für alle konstruktiven Beiträge
  5. Welche eine Weisheit spricht aus deinen Worten... Nein... also da spuckt der Server eine Fehlermeldung aus (da in einer WHERE-Klausel keine Aggregatfunktionen stehen dürfen) Habe aber folgendes probiert: SELECT datum, id_element, id_ort_neu FROM tbl_log GROUP BY id_element, id_ort_neu, datum HAVING (id_ort_neu = 0) AND (datum = MAX(datum)) Abeer das bringt auch nicht den gewünschten Erfolg, da da nicht der jüngste Eintrag ausgewertet wird. Ich möchte im Prinzip für jede element_id den letzten Datensatz (Datum) auswerten, und wenn dieser id_ort_neu=0 hat soll er in der Ergebnisliste mit erscheinen.
  6. Im Prinzip dachte ich ja auch, dass das geht, allerdings liefert mir die Ausgabe das letzte Datum, welches id_ort_neu=0 enthält. Ich möchte aber nur eine Ausgabe haben, wenn es sich um den Datensatz mit dem letzten Datum handelt UND id_ort_neu=0 ist.
  7. Hallo, mit dieser Abfrage: SELECT MAX(datum) AS datum, id_element, id_ort_neu FROM tbl_log GROUP BY id_element, id_ort_neu erhalte ich folgende Daten: datum || id_element || id_ort_neu 07.06.2010 17:29:27 1 0 07.06.2010 17:29:53 2 0 08.06.2010 08:39:58 13 0 08.06.2010 08:56:39 16 0 08.06.2010 08:56:39 17 0 08.06.2010 08:56:39 18 0 08.06.2010 08:56:39 19 0 08.06.2010 08:56:39 20 0 08.06.2010 08:56:39 21 0 07.06.2010 13:51:14 1 1 09.06.2010 09:03:25 21 1 da stört mich aber schon, dass die id_element 21 doppelt vorhanden ist. Nun möchte ich aber nur die Datensätze haben, mit dem höchsten Datum für jedes id_element UND id_ort_neu muss 0 sein. Was möchte ich machen? Ich will die die Element-IDs, die im jüngsten Datensatz einen definierten Ort haben, ausgeben lassen. Was muss ich denn da schreiben???
  8. Es gibt mehrer solcher Funktionen... eigentlich sind alle ganz simpel. - 1 Rückgabetyp - mehrere Parameter Alles int und double
  9. Ich sehe, du hast mein Problem verstanden. Kannst du mir wenigstens ansatzweise nen Lösungsvorschlag unterbreiten? Ich habe ja im Prinzip zwei Prozesse, die von außen auf die DLL zugreifen.
  10. Das Problem ist, dass im MSDN steht, man darf keine Funktionszeiger in einem SharedMem verwenden. Ich will aber die Callback-Funktion von Prozess B in Prozess A aufrufen. Woher bekomm ich denn nun den Funktionspointer???
  11. Hallo ihr Lieben, ich möchte folgendes realisieren: 1. Programm A soll mittels C++-DLL (geht hier nur mit cdecl) ein Programm B starten 2. Programm B (C#.Net) soll eine Funktion als Callback in der DLL registrieren 3. Programm A ruft eine DLL-Funktion auf, welche wiederum die Callbackfunktion im Programm B aufruft und deren Rückgabewert an das aufrufende Programm A zurückgeben. Wenn ich das ganze komplett aus einem C#-Programm aufrufe funktioniert alles, allerdings ist hier Programm A und B dasselbe. Bei Aufruf durch das Originalprogramm A kommt eine "Access Violation", verursacht durch das Callback. Geht das denn überhaupt so? Ich muss da ja den Funktionszeiger auf die Callbackfunktion in einem SharedMemory halten. Danke schonmal.
  12. Hallo Kosi, ich habe das jetzt mal probiert. MessageBox.Show("Test", "Test", MessageBoxButtons.YesNo); Da erscheint zwar das "x", ist aber ausgegraut. Lässt sich dadurch auch nicht bedienen. Es wäre für mich als User auch nicht vorhersehbar, ob Ja oder Nein ausgewählt wird, wenn ich auf "Schließen" drücke.
  13. Hallo ihr Lieben, ich möchte in einer DataGridView die Zellhintergrundfarbe eines fehlerhaften Eintrages ändern. Dazu habe ich im DataError-Ereignis mit SelectedCells[0] die Hintergrundfarbe in Style geändert. Es sah erst so aus, als verändert sich nichts. War aber nicht so, denn erst wenn ich die Zelle verlasse ändert sich die Farbe. Ich möchte allerdings, dass die Farbe noch im Bearbeitungsmodus geändert wird. Wie erreiche ich denn das? Gruß steinadler
  14. Hallo ihr Lieben, gibt es eine Möglichkeit mit C# und GDI in die Titelleiste des Hauptfensters zu zeichnen? Gruß Micha
  15. HWND muss hier ein Handle auf dein Fenster sein. Ich glaube, das bekommst du beim Start deines Programms mit übergeben.
  16. Schreib doch das getWindowRect mal groß, also so hier: GetWindowRect(..)
  17. früher war sowas wie HWND mal in der windows.h #include <windows.h>
  18. Dann wirst du wohl oder übel deine Variablen public machen müssen, oder aber noch besser in Eigenschaften packen. Theoretisch wird bei der Objektorientierung ja der Zustand eines Objektes duch das wiedergespiegelt, was nach außen hin sichtbar ist. Es könnte allerdings sein, dass dir der BinaryFormatter private Daten serialisiert, will mich darauf aber nicht festlegen.
  19. Probier mal, über die Variable [serializable] zu schreiben.
  20. Das aufploppen einer Warnung wollte ich ja gerade vermeiden, da es sich um einen Touchscreen handelt. Klar gibt es noch die Lösung mit der Eingabe eines Dateinamens. Aber lässt sich nicht irgendwo auslesen, welchen Ordner der Dialog nach .Show() anzeigt? Also z.B. "Eigene Dateien"?
  21. Also nochmal: Der Nutzer soll die Datei hinspeichern können wo er will. Der FileSaveDialog macht hier möglich, dass beim erneuten aufploppen, der zuletzt ausgewählte Pfad aktiv ist. Ich möchte dem Nutzer nun vorschlagen, wie er seine Datei nennen soll. Meine Vorstellung war die, dass ich erst schaue, ob die Datei schon existiert, um dann einen anderen Vorschlag zu machen. Aber woher weiß ich nun, welchen Ordner ich nach der Datei suchen soll. Wenn's nicht anders geht, dann werd ich doch ein Startverzeichnis setzen und sobald es geändert wird, dies explizit speichern.
  22. Es gibt aber doch die Option, dass sich der letzte Pfad der gewählt wurde, gemerkt wird. Diesen möchte ich eigentlich auslesen.
  23. Du musst dir mal den Abschnitt "System.Net.Sockets" durchlesen. Damit kann man relativ einfach eine Verbindung zu einem Server herstellen (unter Angabe von Port und IP) und Bytes senden und empfangen. Ganz ohne Programmierkenntnisse wirds allerdings nicht gehen. Als erstes musst du mal ein Protokoll für dein Relais ausfindig machen. In dem Datenblatt steht "ModBus". Vielleicht findest du irgendwo die Befehle oder Parameter die du senden musst, um das Teil schalten zu lassen.
  24. Hallo ihr lieben, ich möchte den Pfad, der in einem SaveFileDialog nach "Show()" angezeigt wird im Voraus schon verarbeiten, also bevor der Dialog angezeigt wird. Allerdings weiß ich nicht, wo ich den Pfad herbekomme. Vielleicht mal der Sinn des ganzen: Ich möchte einen Standard-Dateinamen generieren; muss dafür aber vorneweg prüfen, ob dieser Name im Verzeichnis schon vorhanden ist, ansonsten will ich eine fortlaufende Nummer anhängen. steinadler

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...