Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Klotzkopp

User
  • Registriert

  • Letzter Besuch

Alle Beiträge von Klotzkopp

  1. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Auch für ein leeres Stringliteral wird ein abschließendes Nullbyte erstellt.
  2. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Wenigstens sind wir uns einig
  3. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Das reserviert Dir genau ein Byte, und zwar Zeile[0]. Ist kein Fehler, aber char Tabulator = '\t'; wäre besser, denn dann sparst Du dir auch die Dereferenzierung. Du schreibst und liest hier in Speicher herum, den Du nicht reserviert hast. Nur Zeile[0] ist erlaubt (siehe oben). Mit hoher Wahrscheinlichkeit überschreibst Du andere Variablen.
  4. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Du hast auf jeden Fall vergessen, den Parametern der Funktionen einen Datentyp zu verpassen. Wenn es sicht um einen int handelt, muss das so aussehen: CLine::CLine(CPoint ptFrom, CPoint ptTo, COLORREF crColor, int m_penwidth) Außerdem solltest Du den Parametern nicht den Präfix m_ geben, um Verwechslungen mit Membervariablen zu vermeiden.
  5. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    @Guybrush: Bei beiden Vorschlägen von Dir würde ich eher Referenzen verwenden. @Woodstock: Ich würde auch zur verketteten Liste raten.
  6. Du kannst für Deine Klasse einen Cast-Operator definieren: operator char const *() const { return var; }[/CODE] Dann wird, wann immer Du eine Instanz von Test an Stelle eines char const* oder char const * const angibst, var verwendet. Damit funktioniert z.B.: [CODE]printf( t ) Folgendes wird nicht funktionieren, weil die nachfolgenden Parameter bei printf keine Typprüfung haben: printf( "%s", t ); Die Möglichkeiten wären hier: printf("%s", static_cast<char const *>( t ) ); printf("%s", (char const *)t );[/code]
  7. Was Du hier machst, ist ein Adressvergleich. Die Adresse des Stringliterals "j" vergleichst Du mit der Adresse des ersten Elements von a. <Gebetsmühle> char-Strings vergleicht man mit strcmp. Achtung, strcmp gibt bei Übereinstimmung Null zurück. </Gebetsmühle> Falls Du wirklich nur ein einziges Zeichen vergleichen willst, solltest Du HELLmuts Vorschlag verwenden.
  8. Networking Technologies, oberstes Thema: http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=34655&werbeid=17
  9. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in Netzwerke
    Bitte die Boardregeln, Punkt 9 beachten. Wenn Du glaubst, dass Dein Thema nochmal ins Gedächtnis der Leser gerufen werden muss, wende Dich bitte an einen der zuständigen Moderatoren.
  10. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Erwischt. Eigentlich schon. Ein application.close() an geeigneter Stelle wäre wohl ganz angebracht. Kann sein, dass Windows da toleranter ist, aber abstürzen sollte das Programm trotzdem nicht. An welcher Stelle passiert's denn?
  11. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Nein. Lokale Variablen werden zerstört, sobald sie ihren Gültigkeitsbereich verlassen, in Deinem Fall also spätestens beim Verlassen der Methode, in der Du die Variable angelegt hast. Im Destruktor von CStatic wird DestroyWindow aufgerufen, damit ist das Control wieder weg. Mach eine Membervariable der Dialogklasse draus, oder hole den Speicher dynamisch. Dann sollte sich aber die Dialogklasse den Zeiger merken, um ihn am Ende wieder freizugeben.
  12. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Man kann TerminateThread verwenden, um einen Thread zu beenden. Allerdings ist das eine gefährliche Sache, weil z.B. auf dem Heap allokierter Speicher, CritSecs und geladene DLLs nicht freigegeben werden. Du solltest also zuerst den Thread "sanft" beenden, z.B. indem Du ein Flag setzt, das der Thread regelmäßig prüft, und abwarten, ob er sich selbst beendet. Erst wenn das nicht klappt, solltest Du TerminateThread in Erwägung ziehen. Das Ganze könnte etwa so aussehen: DWORD dwThreadId; HANDLE hThread = CreateThread( NULL, 0, ThreadProc, (void*) pParam, 0, &dwThreadId ); // ...irgendwas tun // Jetzt soll der Thread beendet werden, Flag setzen fStopThread = TRUE; // Dem Thread Zeit geben, sich zu beenden.Hier: 5 Sekunden if( WAIT_OBJECT_0 != WaitForSingleObject( hThread, 5000 ) ) { // Thread hat nicht terminiert, dann auf die harte Tour TerminateThread( hThread, 0 ); } CloseHandle( hThread ); [/CODE]
  13. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    @gajUli: Welchen Compiler verwendest Du? @LLpresident: Das zeichenweise Einlesen sollte ja klar sein. Wenn ich ein Tab finde, setzt ich den Dateizeiger um eins zurück (Offset -1 von der aktuellen Position, deswegen cur für current). Damit steht der Dateizeiger wieder vor dem Tabzeichen. Dann schreibe ich das Dollarzeichen in die Datei. Warum der zweite pubseekoff-Aufruf notwendig ist, weiß ich auch nicht, denn der macht im Prinzip nichts. Er setzt den Dateizeiger auf Offset 0 von der aktuellen Position, lässt ihn also auf gut Deutsch da, wo er ist.
  14. Ado

    Klotzkopp hat auf bigpoint's Thema geantwortet in C++: Compiler, IDEs, APIs
    Der Aufruf von DeleteContents aus OnNewDocument heraus ist schon in Ordnung. Das ist die Standardimplementierung von OnNewDocument. Aber weil DeleteContents u.a. auch zur Initialisierung eines neuen Dokuments verwendet wird, darf dieser Code da nicht rein. @007ski: Setze bitte mal den Code, der jetzt in DeleteContents steht, in die OnCloseDocument-Methode Deiner Dokumentklasse. Falls Du keine hast, kannst Du sie mit dem Klassenassistenten erstellen.
  15. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Würde mich wundern, wenn das so wäre. Ist das jetzt ein neues Problem? Hat sich das alte erledigt?
  16. Ado

    Klotzkopp hat auf bigpoint's Thema geantwortet in C++: Compiler, IDEs, APIs
    Hast Du eine dieser drei Methoden überschrieben? - IsModified - DeleteContents - SetModifiedFlag Wie sieht der Callstack zum Zeitpunkt der Ausnahme aus? Hast Du die MFC-Quellcodes installiert? Wenn ja, setze mal einen Breakpoint auf die Zeile, starte den Debugger und spring rein (F11). Da drin kannst Du dann mit F10 die einzelnen Schritte durchgehen, damit man genauer eingrenzen kann, wo der Fehler auftritt.
  17. Klotzkopp hat auf SwordMaster's Thema geantwortet in C++: Compiler, IDEs, APIs
    Wäre ganz gut Du brauchst aber keine HINSTANCE-Variable. Schreib statt hInst einfach AfxGetResourceHandle() in den LoadBitmap-Aufruf.
  18. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Wenn Du als Window-Style immer noch nur SS_BLACKFRAME angegeben hast, dann kannst Du nichts sehen. WS_VISIBLE sollte schon sein. Für ein Bitmap-Static-Control mit Rahmen empfehle ich: WS_CHILD | WS_VISIBLE | SS_BITMAP | WS_BORDER. Ist Deine CStatic-Instanz ein Member der Dialogklasse, oder eine lokale Variable in einer Methode?
  19. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    ShellExecute kann genau das. Du kannst entweder auf dem Board danach suchen oder mal hier reinschauen.
  20. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    SetWindowPos gibt es auch in den MFC: BOOL CWnd::SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags ); Wenn das Fenster auch dann im Vordergrund bleiben soll, wenn es nicht aktiv ist (wie z.B. der TaskManager), kannst Du das so machen: SetWindowPos( &wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_SHOWWINDOW );
  21. Klotzkopp hat auf SwordMaster's Thema geantwortet in C++: Compiler, IDEs, APIs
    Ersetze "IDB_BITMAP2" mal durch MAKEINTRESOURCE(IDB_BITMAP2) Ach ja, UpdateData kannst Du Dir bei Steuerelement-Variablen sparen.
  22. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C und C++
    Das Hauptproblem an Deinem Code ist, dass Du für jedes Zeichen in der Datei einen neue Ausgabedatei aufmachst, die, weil sie denselben Namen trägt, Deine Eingabedatei überschreibt. Du brauchst nicht ein ifstream und ein ofstream, sondern ein fstream, das beides gleichzeitig kann. Ich hab noch nicht wirklich viel mit Streams gemacht, aber ich habe ein wenig rumprobiert, und das hier scheint zu funktionieren: #include <fstream> #include <conio.h> using namespace std; //------------------------------------------------------- int main() { char Zeichen; char Tab = '\t'; char Test = '$'; fstream application("application.txt", ios::in | ios::out ); while(!application.eof()) { application.get( Zeichen ); if(Zeichen == Tab) { application.rdbuf()->pubseekoff( -1, fstream::cur ); application.put( Test ); application.rdbuf()->pubseekoff( 0, fstream::cur ); } } getch(); return 0; }[/CODE] Jemand der mehr Ahnung von Streams hat, möge mir bitte sagen, warum der zweite pubseekoff-Aufruf notwendig ist. Ohne den wächst die Datei [b]sehr[/b] schnell.
  23. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    Ich nehme mal an, MYSQL_ROW ist ein #define oder typedef. Was für eins?
  24. Ado

    Klotzkopp hat auf bigpoint's Thema geantwortet in C++: Compiler, IDEs, APIs
    Erdstrahlen. Oder Polarlichter. Mal im Ernst, wie soll irgendjemand alle Codeänderungen, die Du gemacht hast, nachvollziehen, und dann diese Frage beantworten, wenn Du nicht einmal sagst, was Du wo auskommentiert hast? Und was die Ausnahme angeht: Starte das Programm im Debugger, damit Du uns sagen kannst, an welche Stelle im Code dieser Fehler auftritt, am besten mit Callstack. Nur als Info: #pragma warning (disable: 4146) macht nichts weiter, als die Warnung abzuschalten. Du behandelst die Symptome, nicht die Krankheit. Es gibt aber Fälle, wo man das einfach machen muss. Ich bin da bei ADO nicht ganz auf dem laufenden. Kannst Du vielleicht Dein ganzes Projekt irgendwo hochladen, damit wir uns mal den Quellcode ansehen können? Natürlich nur, wenn Du das willst und das Copyright hast.
  25. Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in C++: Compiler, IDEs, APIs
    @se.rie.: Es ging dem Fragesteller um Unterschiede zwischen C++ und C#. Mag sein, dass Du keinen Grund siehst, umzusteigen oder .net einzusetzen. Mag auch sein, dass PHP sich bewährt hat. Aber das ist hier nicht das Thema. Also bitte bleibt dabei, ok?

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.