Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Versuch's mal mit oUser.[msRTCSIP-Line] Quelle: Hey, Scripting Guy! How Can I Retrieve the Value of an Active Directory Attribute that has a Hyphen in Its Name? - Hey, Scripting Guy! Blog - Site Home - TechNet Blogs
  2. Gar nicht, die Syntaxregeln einer Programmiersprache lassen sich nicht ändern. Das Objekt hat kein Attribut mit diesem Namen, weil das kein gültiger Attributname ist. Möglicherweise funktioniert oUser.get("msRTCSIP-Line"). Was genau ist denn oUser, bzw. woher kommt es?
  3. Fließkommatypen sind durch ihren Aufbau prinzipbedingt ungenau. Ein Wert wie 18.31 lässt sich als Fließkommawert nicht exakt darstellen, darum ist das Ergebnis der Umwandlung der double-Wert, der am nächsten an 18.31 liegt. In diesem Fall ist das 18.309999999999999. Wenn man in der weiteren Verarbeitung die hinteren Stellen einfach abschneidet, kann dabei dabei dann 18.30 herauskommen. Ein höherer Wert sollte eigentlich nicht auftreten. Diese Rundungsfehler sind bei Fließkommatypen unvermeidbar, das musst du berücksichtigen, bevor du den Wert weiter verarbeitest.
  4. Mit dem MFC-Klassenassistenten eine Klasse von CStatic ableiten und darin WM_MOUSEMOVE behandeln Zum Picture-Control eine Control-Variable vom Typ der neuen Klasse anlegen Notify-Property des Controls auf True setzen
  5. Solltest du nicht müssen. Dann hast du irgendwo eine unpassende Typumwandlung mit einem Cast erzwungen. Dann lässt es sich zwar compilieren, läuft aber trotzdem nicht, wie du siehst.
  6. Eben. std::string ist aber nicht nullterminiert. Hab ich dir doch hingeschrieben :confused:
  7. CString csNewUsername(szNewUsername.c_str()); Wobei "sz" ein sehr eigenartiger Präfix für std::string ist. Man kann über den Sinn von Typpräfixen streiten, aber wenn man sie anwendet, sollte man es doch richtig machen.
  8. Ob es ein Button oder Static ist, ist doch egal. Wenn nicht gerade Capture aktiv ist, bekommt das Fenster, über dem sich der Mauszeiger befindet, die Mausnachrichten.
  9. Das ist unnötig. Wenn sich die Maus über dem Button befindet, merkst du das schon allein daran, dass dann der Button die MouseMove-Nachrichten bekommt. Wenn du darüber informiert werden willst, wann der Mauszeiger ein Fenster verlässt, musst du TrackMouseEvent benutzen.
  10. Ist die Frage erlaubt, warum du das Rad neu erfindest und nicht auf eine der vielen existierenden Fernwartungslösungen zurückgreifst? Zum Problem: JPEG-Dateien sind bereits komprimiert. Zweimal komprimieren bringt nichts. Du kannst die Komprimierung bei JPEG hochdrehen, aber dann verstärken sich auch die Artefakte. Ein Ansatz ist, nur den Teil des Bildschirminhalt zu übertragen, der sich verändert hat. Das erfordert allerdings entweder eine Analyse des Inhalts, für die du vermutlich keine Zeit hast, oder das Einklinken in das Grafik-Subsystem des verwalteten Systems, um Informationen darüber abzufangen, was sich geändert hat. Mit dem Verschicken von Screenshots ist es jedenfalls nicht getan.
  11. Und welchen Wert hat pWnd an dieser Stelle?
  12. CreateFont in OnPaint ist keine gute Idee. Mach das im View-Konstruktor. Da du den relevanten Teil der Meldung weggelassen hast, können wir dir auch nicht helfen. Wirf den Debugger an und schau im Callstack nach, woher die Meldung kommt.
  13. Es kommt darauf an, wo dieser Code steht. Wenn an dieser Stelle das Fenster bzw Steuerelement noch gar nicht erstellt wurde, gibt dir GetMainWnd bzw. GetDlgItem NULL zurück.
  14. Mit Format -> Tab Order kannst du die Reihenfolge einstellen. Dann hast du wohl etwas falsch gemacht. Da du nicht beschreibst, was du gemacht hast, ist dir hier schwer zu helfen. Weil die Größenangaben nicht in Pixel angegeben sind, sondern in "Dialog Units" Ist die Gestaltung denn ein wichtiger Bestandteil des Projekts, oder legst du da vielleicht gerade zu viel Wert auf unnötiges Blendwerk?
  15. Was genau ist denn ImageIndex in diesem Fragment? Hast du da selbst eine Variable angelegt? Du musst jedem Knoten sein Icon zuweisen.
  16. And, nicht or.
  17. Bei mir geht Strg+. bzw. Strg+:
  18. Ein Programm, dass über eine Freigabe auf einem Server von einem Client aus gestartet wird, wird nicht auf dem Server ausgeführt. Das Programm wird in den Arbeitsspeicher des Clients geladen und dort ausgeführt. Die Frage ist ganz einfach, ob das Programm verfügbar sein muss, auch wenn der Server nicht erreichbar ist.
  19. Klotzkopp

    verkettete Liste

    Doch, du sollst vermutlich das Listenende als listenelement^ an main zurückgeben. Der ^, der ein Handle auf den Managed Heap kennzeichnet, gehört übrigens zum Typ, nicht zum Variablennamen. Es könnte fürs Verständis förderlich sein, wenn du also String^ datenneu und listenelement^ hilfshandle schreibst. Syntaktisch tut sich das nichts. [COLOR="green"]listenende = hilfsHandle; [/COLOR][COLOR="blue"]// Hier wird dem Hilfhandle das Listende zugewiesen? [/COLOR] Andersrum. Das Ziel einer Zuweisung steht links. Der Zeiger listenende wird umgebogen, so dass er auf dasselbe Objekt zeigt wie der Zeiger hilfsHandle. Da hilfsHandle zu diesem Zeitpunkt auf das letzte Listenelement zeigt, tut listenende das jetzt auch. [COLOR="green"]hilfsHandle -> next = gcnew listenelement;[/COLOR] [COLOR="blue"] // Neue daten an das Listenende anhängen und weil HilfsHandle jetzt listenende zugewiesen am Ende?[/COLOR] Nicht "weil". Es wird einfach ein neues Element angehängt. Der next-Zeiger des letzten Listenelements ist vorher null (darum ist es ja das letzte). [COLOR="green"]hilfsHandle = hilfsHandle -> next;[/COLOR] [COLOR="blue"]// Weil Listenhandle hilfsHandle zugewiesen wurde zeigt der Zeiger jetzt an das Ende[/COLOR]Versteh ich nicht. hilfsHandle wird ein Objekt "weiter" gesetzt. Somit zeigt hilfsHandle auf das neue, eben erstellte Objekt, damit man hinterher die Daten eintragen kann. listenende zeigt unverändert auf das "alte" letzte, jetzt vorletzte Listenelement. Eigentlich brauchst du listenende gar nicht, der Zeiger wird nicht benutzt. Ich denke, genau das ist die Aufgabe. Dafür brauchst du in anhaengen allerdings keine neue Variable, du musst nur den Rückgabetyp ändern und den passenden Wert zurückgeben.
  20. Das ist immer noch dasselbe Problem: System::String nach std::string. Du hast das Problem bei ifstream (C++-Klasse) umgangen, indem du auf StreamReader (.NET-Klasse) umgestiegen bist. Wenn du bei std::map (C++-Klasse) bleiben willst, wirst du trotzdem nicht drumherum kommen.
  21. Klotzkopp

    verkettete Liste

    Die Liste existiert nicht als einzelne Variable, sondern entsteht aus der Verknüpfung von mehreren Objekten. Es wird daher auch nirgends die Liste übergeben. Übergeben wird ein Zugriffsobjekt, in diesem Fall der Verweis auf den Listenanfang. Ein etwas hinkender Vergleich aus dem realen Leben: Wenn du ein Auto mietest, wird auch nicht das Auto über die Theke geschoben, sondern ein Schlüssel, der dir Zugriff auf das Auto gibt. Da dieser Veweis selbst nicht verändert wird (er zeigt nach dem Aufruf auf dasselbe Objekt, allenfalls wurde dessen Inhalt verändert), muss auch nichts zurückgegeben werden.
  22. Wie gesagt, ich vermute, neu schreiben geht schneller. Du brauchst für den ifstream-Konstruktor den Dateinamen in einem char*. PtrToStringChars bringt dir da nicht viel, weil du damit einen wchar_t* bekommst. Besser ist vermutlich Methode 2 mit Marshal::StringToHGlobalAnsi, da bekommst du gleich den richtigen Typ. Du musst natürlich dann ifstream auch mit der richtigen Variablen aufrufen. In deinem letzten Beispiel benutzt du immer noch den System::String*.
  23. Welche Version von Visual Studio .NET? 2002 oder 2003? Geht es immer noch um diesen Zeilenzähler-Tool? Das besteht doch zum größten Teil aus Ein- und Ausgabe, die du für ein GUI sowieso umschreiben musst. Am schnellsten wäre vermutlich, das Tool komplett in C# neu zu schreiben.
  24. Wurde dir auch C++.NET vorgegeben? Falls nicht, benutz C#. Falls doch: Wurde dir vorgegeben, dass du C++.NET mit Standard-C++ mischen sollst? Falls nicht, benutzt die .NET-Klassen, nicht std::map, std::string und std::ifstream. Falls doch: Dann sehen wir weiter.
  25. Das ist keine ausreichende Fehlerbeschreibung. Zeig deinen Code und die Fehlermeldung. So, wie sie auf der verlinkten Seite steht. Wer nicht hören will... Ich schreibe hier mehrfach, dass dein Ansatz, Standard-C++ mit C++.NET und Windows Forms zu mischen, keine gute Idee ist. Du merkst anscheinend selbst, dass das nicht einfach ist. Trotzdem machst du offenbar unbeirrbar damit weiter. Da bleibt mir nur, dir zu wünschen, dass du mit deinen selbstauferlegten Schwierigkeiten glücklich wirst.

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...