Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Du brauchst an dieser Stelle die Instanz von CAnalyse, die du angezeigt hast, oder eine Referenz oder einen Zeiger darauf. Nur darüber kannst du eine Methode aufrufen. Wo wird denn dieser Dialog erzeugt?
  2. Nein, der Call stack (in der deutschen Version "Aufrufliste" ist ein spezielles Fenster beim Debuggen. Wenn du Version und Sprache deines VC nennst, kann ich dir genauer sagen, wo du es findest. In dem Fenster findest du eine Auflistung aller Funktionsaufrufe, die zum Crash geführt haben.
  3. Ich schaffe es auch, diese Aufgaben zu lösen. Und ich denke, diverse andere Benutzer hier auch. Da die Frage damit beantwortet sein dürfte, mache ich hier zu. Weitere "Ich auch"-Beiträge bringen ja nichts mehr. @Roloc: Falls du nicht nur wissen wolltest, wer das lösen kann, sondern selbst Hilfe bei der Lösung möchtest, beachte bitte folgende Punkte: - Das Forum ist kein Hausaufgabenservice.. - Zeig, was du hast, und wir sagen dir, was man besser machen kann. Einfach die Aufgabe hinzuklatschen, ist unhöflich. - Wähle Threadtitel, die das Problem näher beschreiben - Bitte mach dir die Mühe, die paar Textzeilen abzuschreiben oder die Aufgabe in eigenen Worten wiederzugeben. Es ist definitiv nicht notwendig, hier hunderte Kilobytes an PDF-Dateien anzuhängen.
  4. Darum ist es hilfreich, wenn man vorher sagt, welches OS man hat Also weiter raten: Start -> Ausführen -> devmgmt.msc -> Ansicht -> Ressourcen nach Typ.
  5. Wie würdest du denn da manuell vorgehen? Ich vermute, dass du da mit den WNet-Funktionen auf dem Holzweg bist - die sind dafür da, bereits installierte Ressourcen zu verbinden. Möglicherweise brauchst du AddPrinterDriverEx oder etwas aus der Ecke. Steht denn in der Ausgabe des Debuggers, dass er Symbole für dein Programm laden konnte? Steht das Programm in dieser Funktion, wenn du den Wert von dwResult ermitteln willst?
  6. Hast du eine Debug- oder eine Releaseversion erstellt? Hast du eine .pdb-Datei für dein Programm? Und hast du das schon gemacht? Oder willst du das mit deinem Programm erreichen?
  7. Wie soll das gehen? Du brauchst den Rechner und den Druckernamen. Wenn du den nicht kennst, kannst du dir mit WNetEnumResource eine Liste der freigegebenen Drucker holen. Keine Ahnung. Vermutlich, weil du etwas falsch machst. Meine Fragen diesbezüglich hast du nicht ja beantwortet. Aber ich frag auch gern nochmal: Hast du denn überhaupt eine Version mit Debuginformationen gebaut? Wo steht dein Breakpoint?
  8. Der Freigabename des Druckers sollte da wohl auch noch hintendran. Wie willst du sonst den zu verbindenden Drucker identifizieren? Der Debugger kann das Symbol dwResult nicht auflösen. Hast du denn überhaupt eine Version mit Debuginformationen gebaut? Wo steht dein Breakpoint?
  9. Das ist ein Debuggerproblem. Das sagt nichts über dein Programm aus. Es wäre hilfreich gewesen, wenn du verraten hättest, was in LP1_IP drinsteht. Der echte Code kann auch nie schaden. Das, was du da hast, lässt sich mit Sicherheit nicht compilieren.
  10. Bei einem Threadproblem mit den MFC sollte das Programm eigentlich mit einer fehlgeschlagenen Assertion abbrechen, nicht mit einer AV. Was sagt denn der Debugger? Wie sieht der Call stack (Aufrufliste) zum Zeitpunkt des Absturzes aus?
  11. Klotzkopp

    fopen mit Pfad

    Gern geschehen Trotzdem solltest du immer prüfen, ob fopen erfolgreich war. Es gibt auch Gründe für ein Fehlschlagen, die nicht in deinem Code liegen.
  12. Klotzkopp

    fopen mit Pfad

    Vermutlich, weil fopen dann nicht fehlschlägt. Wenn kein Auto kommt, "funzt" auch bei Rot über die Straße gehen. Eine Fehlerprüfung wäre also auf jeden Fall angebracht. Dann solltest du vielleicht einen relativen Pfad benutzen. Der fängt im Allgemeinen nicht mit einem Schrägstrich an. Denk aber daran, dass sich relative Pfade auf das aktuelle Arbeitsverzeichnis deines Programms beziehen. Das muss nicht das Verzeichnis sein, in dem sich die ausführbare Datei befindet.
  13. Klotzkopp

    fopen mit Pfad

    Offenbar prüfst du nicht, ob dein Aufruf von fopen überhaupt erfolgreich war, und rufst dann fprintf mit einem ungültigen FILE* auf.
  14. Klotzkopp

    C-Compiler

    In dem Fall nicht. Wenn hier jeder Produkte nennt wie er grad will, können wir die Suchfunktion auch gleich abschalten. Also bitte.
  15. Klotzkopp

    fopen mit Pfad

    Wie lautet denn die Assertion genau?
  16. Klotzkopp

    Uml ?!

    Verschoben -> Anwendungssoftware
  17. Genau so meinte ich es. Das SYSTEMTIME-Objekt wird wieder zerstört. Der Zeiger ist innerhalb von SetSystemTimeFromServer ein temporäres Objekt, dass vom Adressoperator erzeugt wird und für die Dauer des Aufrufs von SetSystemTime besteht. In SetSystemTime hast du (vermutlich, wenn du den Zeiger by value übergibst) eine Kopie dieses temporären Objekts. Wenn die SetSystemTime-Funktion diesen Zeiger zur späteren Verwendung in einer statischen oder globalen Variablen ablegt, gibt es Probleme. Wenn sie ihn nur während ihrer eigenen Laufzeit benutzt, ist das in Ordnung.
  18. Schon besser. Eine Zuweisung in der if-Anweisung ist zwar nicht so schön, und hier auch unnötig, aber das ist kein Fehler. Du musst nur darauf achten, dass sich SetSystemTime nicht diesen Zeiger merkt, denn der ist nicht mehr gültig, wenn die Funktion SetSystemTimeFromServer beendet ist.
  19. Wieso was? Ob FindFirstFile geklappt hat, erkennst du am Rückgabewert von FindFirstFile, nicht an dem von GetLastError. GetLastError ist im Allgemeinen sinnlos, wenn vorher nicht etwas schiefgegangen ist. Du kannst mit GetLastError nicht feststellen, ob etwas fehlgeschlagen ist. Du kannst damit nur feststellen, warum etwas fehlgeschlagen ist, wenn es denn passiert ist. Du brauchst hier keine Zeiger. Genau
  20. FindFirstFile gibt INVALID_HANDLE_VALUE zurück, wenn etwas nicht funktioniert hat. Nur dann ist es sinnvoll, GetLastError aufzurufen. Außerdem hast du da zwei schöne Speicherlecks. Warum benutzt du überhaupt new, statt normale Autovariablen zu verwenden? Und weil das alles nichts mehr mit Standard-C++ zu tun hat: Verschoben -> C++: Compiler, IDEs, APIs
  21. Doppelte Backslashes brauchst du nur bei Stringliteralen im Quellcode (und bei einigen recht esoterischen Ausnahmefällen).
  22. Nö. Wie kommst du denn darauf? Auf der verlinkten Seite steht's doch: shlwapi.lib Die musst du in den Linkeroptionen der Projekteinstellungen oder z.B. über #pragma comment(lib, "shlwapi.lib") einbinden.
  23. Es gibt keine "Ganz Normal"-Edition. Was steht denn auf der Installations-CD? Hast du es gekauft, oder lag es einem Buch bei? In letzterem Fall ist es mit Sicherheit die Autorenversion.
  24. Kein Problem, wird gleich verschoben Übrigens, falls das in deinem Code eine Schaltjahrprüfung sein soll, ist sie falsch. Wenn eine Zahl nicht durch 4 teilbar ist, ist sie immer auch nicht durch 400 teilbar, die zweite Bedingung ist in der ersten enthalten. Nichtteilbarkeit durch 4 ist auch keine notwendige Bedingung für "kein Schaltjahr". 1900 ist durch 4 teilbar, war aber trotzdem kein Schaltjahr. Die Teilbarkeit durch 100 muss mit in den Ausdruck. P.S.: Verschoben -> Delphi/RPG+CL/C#/Sonstige
  25. Das kommt drauf an, welche Bibliothek du benutzen willst. Wenn du nicht auf auf Software von Drittanbietern zurückgreifen willst, kannst du z.B. MCI oder DirectX benutzen. Als Einstieg in MCI kannst du ja mal hier anfangen: http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_mci_play.asp

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