Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Für so was gibt es eigentlich std::bitset. #include <bitset> int main() { unsigned char bytes[8] = { 0, 1, 0, 1, 0, 1, 0, 1 }; std::bitset<8> bs; for( int i = 0; i < 8; ++i ) { bs.set( i, bytes[i] != 0 ); } unsigned char result = unsigned char( bs.to_ulong() ); }[/code] Aber auch damit braucht man eine Schleife oder einen benutzerdefinierten Funktor.
  2. Schau dir mal (z.B. mit dem Dependency Walker) an, mit welchem Namen das Symbol exportiert wird.
  3. Nein, WM_CREATE empfängt ein Fenster während seiner Lebenszeit nur einmal. Verwechselst du das vielleicht mit WM_ACTIVATE?
  4. Hallo, Zuerst ein Hinweis: Üblicherweise halten wir das hier so: Ein Thema -> ein Thread, ein Thread -> ein Thema. Wenn du also eine weitere Frage zu einem anderen Thema hast, mach bitte einen neuen Thread auf. In der Behandlung von WM_CREATE kannst du alles unterbringen, was passieren soll, bevor das Fenster sichtbar wird, z.B. die Erzeugung von Kindfenstern. Außerdem hast du hier noch die Möglichkeit, die Erzeugung abzubrechen, wenn irgendetwas schief geht. Wenn du als Antwort auf WM_CREATE -1 zurückgibst, schlägt der zugehörige CreateWindow(Ex)-Aufruf fehl. P.S.: Könntest du das mit diesem "I-" lassen?
  5. Aber das ist keine gültige Subnetzmaske. Die beiden Beispieladressen können nicht die erste und letzte bzw. Netzwerk- und Broadcastadresse sein. Und damit braucht man gar nicht mehr weiter zu überlegen.
  6. In diesem Fall kann man die Subnetzmaske ermitteln, indem man die IP-Adressen exklusiv-oder verknüpt und das Ergebnis invertiert. Mit den Beispieladressen geht das nicht. Die Subnetzmaske könnte alles von /1 bis /13 sein.
  7. Da gibt's doch nur sieben Möglichkeiten: Jul Aug 8 12 9 13 10 14 11 8 12 9 13 10 14 11[/code] Wenn der Tag also zwischen 8 und 10 liegt, vier Tage drauf, sonst drei Tage runter. Oder brauchst du das allgemein?
  8. Könnte sein. Offenbar vertragen sich die Compilereinstellungen für diese Datei nicht mit denen für die Datei, aus denen die PCH generiert wurden, üblicherweise stdafx.cpp. Hat eine dieser Dateien irgendwelche ungewöhnlichen Einstellungen?
  9. Vorsicht. Du wirfst da offenbar .NET (Entwicklungsplattform) und Visual Studio .NET (Entwicklungsumgebung) durcheinander. Mit letzterer kannst du auch nicht-.NET-Programme schreiben, z.B. mit MFC. Das ist dann aber nicht "in .NET", wie du es nennst.
  10. Es ist vielleicht etwas spät, das zu fragen, aber "Rebuild All" / "Alles neu erstellen" hast du doch gemacht, oder?
  11. Wenn du ohne Framework auskommen willst, ja. Du musst übrigens zwischen C++ und C++.NET bzw. C++/CLI unterscheiden, das sind zwei paar Schuhe. Letztendlich braucht fast jede Sprache eine Laufzeitumgebung, aber nicht alle sind gleich groß, manche sind sowieso schon weit verbreitet, und manche sind gleich beim Betriebssystem dabei. keepass ist ein MFC-Programm. Kein .NET.
  12. Du musst nicht, aber es ist ratsam. NDEBUG ist das Präprozessorsymbol, das steuert, ob assert aktiv ist oder nicht. Mit der Auswahl der MFC-DLL hat es aber nichts zu tun. Die kannst du dir übrigens in afx.h ansehen.
  13. Dann hast du dir die falsche Sprache ausgesucht. Sprich: Das geht nicht.
  14. So, nun aber wieder ernsthaft Am Code. Mehr kann man dazu wirklich nicht sagen, ohne mehr über das Programm zu wissen. Code ansehen / Debugger / Profiler. Oder hat sich das Problem inzwischen erledigt?
  15. Nein, nicht dass ich wüsste. Aber jede einzelne Quellcodedatei kann eigene Präprozessoreinstellungen haben, die von den Projekteinstellungen abweichen. Durchsuch doch mal die .vcproj-Datei mit einem normalen Texteditor nach _DEBUG.
  16. Möchtest du mit "es sei gesagt" eigentlich etwas besonderes ausdrücken, oder schreibst du das einfach nur gern? Ich hoffe, dir ist klar, dass du dir mit RAS nicht gerade ein Anfängerthema ausgesucht hast. RasDial ist die Funktion zum Einwählen, RasHangUp die zum Auflegen. Ein Beispiel findest du z.B. hier: Opening a Dial-Up connection - The Code Project - Internet & Network Wenn du eine bestimmte Verbindung nutzen willst, musst du deren Namen als zweiten Parameter bei RasDial angeben.
  17. Das ist schon der Fehler. Workerthreads dürfen keine MFC-Fenster öffnen. Um einen UI-Thread zu starten, musst du die andere Überladung von AfxBeginThread benutzen, die mit einem CWinThread-(oder davon abgeleiteten-)Objekt. Aber warum erstellst du den Dialog eigentlich nicht im ursprünglichen UI-Thread?
  18. Na dann: Hilfestellung 1: RasDial (Windows) Hilfestellung 2: RasHangUp (Windows)
  19. Die mehrfache Verwendung der Ressource ist nicht das Problem. Wie hast du den Thread denn überhaupt gestartet? Als Workerthread oder als UI-Thread? Und könntest du "Absturz" noch ein wenig präzisieren? Welcher der Threads stürzt ab? Fehlgeschlagene Assertion? Schutzverletzung? Genaue Fehlermeldung? Callstack?
  20. Welche Version der MFC-Bibliothek gelinkt wird, hängt davon ab, ob das Präprozessorsymbol _DEBUG definiert ist oder nicht. Hast du das vielleicht irgendwo für Release gesetzt?
  21. Das bedeutet leider weder, dass der Code fehlerfrei ist, noch dass der Code gut ist. Du hast immer noch ein GDI-Ressourcenleck in dieser Methode, weil du die geladene Bitmap nicht wieder löschst. Früher oder später wird sich das in Anzeigefehlern bemerkbar machen. Außerdem ist es ziemlich schwachsinnig, für jedes Paint-Ereignis die Bitmap erneut zu laden. Die ändert sich doch während der Lebenszeit eines SIBitmap-Objekts nicht. Also lade sie im Konstruktur, merke dir nur das Handle in einem Member, und gib sie im Destruktur wieder frei.
  22. Opera 9.21, XP Prof. SP 2, beides deutsch. Ich kann das Problem nicht reproduzieren.
  23. Und was passiert so in DiagnoseTool.Startform.Startform_VisibleChanged?
  24. Dafür brauchst du kein vierdimensionales Array, da reicht ein einfaches Array einer Datenstruktur, die einen einzelnen Eintrag fassen kann, wie baba007 es angebeutet hat. Und die Tordifferenz ist redundant, die kannst du jederzeit aus den anderen Daten ausrechnen.
  25. Da müsstest du dich zuerst mal für eine GUI-Bibliothek bzw. -API entscheiden. Unter Windows hast du natürlich die Windows API selbst (auch WinAPI genannt), aber die hat mit C++ nun gar nichts zu tun, sondern ist eine reine C-API. Dann gibt es einige Bibliotheken, die in bestimmten Entwicklungsumgebungen enthalten sind, wie z.B. MFC, WTL oder VCL. Es gibt auch portable Bibliotheken, wie z.B. wxWidgets, QT oder gtkmm (diese Liste hat keinen Anspruch auf Vollständigkeit). Du siehst, du hast die Qual der Wahl. Und frag bitte nicht, welche die beste ist

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