Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Das solltest du nur machen, wenn die Lizenzvereinbarung das erlaubt. Die für den diesen Compiler erlaubt es nicht. Den Link muss ich entfernen.
  2. Mit Standard-C oder -C++ geht das gar nicht. Mit der WinAPI geht es, ist aber IMHO nicht "einfach". Möglicherweise bietet deine Entwicklungsumgebung eine fertige Klasse dafür an. Da du aber leider nicht verraten hast, was du benutzt, kann ich dazu nichts genaueres sagen. Hier solltest du anfangen zu lesen, wenn du die WinAPI benutzen willst: http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/dataexchange/clipboard.asp P.S.: Verschoben -> C++: Compiler, IDEs, APIs
  3. Stichwort: ADSI. In der MSDN Library solltest du einiges dazu finden. Und weil das windowspezifisch ist: Verschoben -> C++: Compiler, IDEs, APIs
  4. So ziemlich jeder Compiler sollte das können. Scintilla ist aber wohl nur ein Editor, wenn ich das richtig verstanden habe. Wenn du genau wissen willst, wie das geht, müssen wir wissen, welcher Compiler druntersitzt.
  5. Klotzkopp

    Uml

    Verschoben -> Anwendungssoftware
  6. Nein, in CPsyProApp::InitInstance. Dein Design ist, sagen wir, ungewöhnlich. Dein Login-Dialog "besitzt" deinen Hauptdialog. Die Hauptdialoginstanz "lebt" in einer Methode deiner Logindialogklasse. Eigentlich sollte der Logindialog dem Hauptdialog vorgeschaltet sein. Der Logindialog kann über EndDialog oder eine Membervariable dem Aufrufer von DoModal signalisieren, ob das Login erfolgreich war. Möglich wäre auch, dass der Logindialog gar nicht selbst prüft, sondern nur die Logindaten entgegen nimmt. Prüfen kann dann der Aufrufer des Logindialogs. Es ist übrigens ziemlich wahrscheinlich, dass das alles nichts mit deinem Fehler zu tun hat
  7. Erstellst du deinen "Hauptdialog" in CLogIn::OnOK? Falls ja, nimm das bitte mal da raus und stell es hinter den Aufruf von DoModal der CLogIn-Instanz, das sollte in CPsyProApp::InitInstance passieren.
  8. Lass dir den Callstack (Aufrufliste) anzeigen. Dann kannst du sehen, wo der Aufruf herkam.
  9. Diese Backslashverdopplung ist IMHO unnötig. Doppelte Backslashes brauchst du nur bei Stringliteralen im Quellcode und ein paar sehr seltenen Sonderfällen. Bei ShellExecute brauchst du sie sicher nicht. Wenn das Programm weiterläuft, war das eine sogenannte First chance exception. Es trat also eine Ausnahme auf, es gibt aber einen Exception Handler dafür (z.B. einen try-Block). Nur wenn der die Ausnahme nicht behandelt, würde der Debugger das Programm anhalten. Das muss nicht unbedingt ein Fehler sein. Wenn du dem auf den Grund gehen willst, kannst du unter Debug -> Exceptions (IIRC) einstellen, dass VC bei dieser Art Ausnahme (0xE06D7363) immer anhält. Dann kannst du über den Callstack sehen, wo der Aufruf herkam. Du könntest auch deinen Code mit Traces spicken, um grob abschätzen zu können, wo die Exception herkommt. Aber die erste Methode ist die bessere.
  10. Hält das Programm danach an, oder läuft es weiter? Funktioniert es ansonsten? Welche Version von VS?
  11. Dann empfehle ich Filemon und Regmon von Sysinternals. Kein Grund, das selbst nochmal zu schreiben, außer vielleicht als Übung.
  12. Für Dateiüberwachung kann man ReadDirectoryChangesW benutzen. Für die Registry bleibt wohl wirklich nur API-Hooking. Äh, das ist IMHO nur ein Beispiel für die Anwendung von COM.
  13. Und für Arrays, die eben keine automatische Lebensdauer haben sollen.
  14. Nein, das Array hat immer noch automatische Lebensdauer. Die Größe muss nur nicht mehr schon zur Compilezeit feststehen, das ist alles.
  15. szArray wird eben nicht schon zur Compilezeit festgelegt. Wieso?
  16. Abgesehen davon, dass die Prozentzeichen doppelt sind: ShellExecute expandiert nicht automatisch Umgebungsvariablen in den Strings. Darum musst du dich selbst kümmern.
  17. Warum sollte das nicht funktionieren?
  18. Doppelte Prozentzeichen brauchst du nur, wenn du eine Funktion benutzt, bei der das Prozentzeichen eine besondere Bedeutung hat, z.B. sprintf oder CString::Format. In deinem Beispielcode sind die nicht notwendig - außer du verwendest diesen String später als Formatstring für eine andere Funktion.
  19. Hast du ein konkretes Problem, oder fragst du nur aus Interesse? Die maximale Zeichenanzahl in einem String sollte nur durch die Computerarchitektur und den verfügbaren virtuellen Speicher begrenzt sein.
  20. Was soll passieren? Das Array hat die Länge, die iSize zum Zeitpunkt der Definition des Arrays hat.
  21. Auto-Arrays mit einer Länge, die nicht zur Compilezeit feststeht, sind im neuesten C-Standard erlaubt. Der gcc hat eine Erweiterung, die das auch in C++ ermöglich. Im C++-Standard ist das aber (noch) nicht.
  22. Die Parameter des Shellbefehls kannst du übrigens nicht einfach anhängen, die gehören in den vierten Parameter von ShellExecute.
  23. Kein Wunder. Anführungszeichen um einen Variablennamen hat nicht den Effekt, den du hier erwartest. Du versuchst, das Programm "mapprinter" zu starten. Das gibt es vermutlich nicht. Da du den Rückgabewert von ShellExecute nicht prüfst, merkst du davon nichts. Dafür hat std::string die Methode c_str.
  24. Dann fang doch mal mit einer guten Fehlerbeschreibung an. "irgendwie will der nicht so wie ich will" ist übrigens keine.
  25. Für normale Schrägstriche brauchst du keine Escapesequenz. Einfach /, nicht \/. Zeilenumbrüche macht man mit \n, nicht mit /n.

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