Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Klotzkopp

    [C]: Speicherfehler

    Bei mir läuft's jetzt. Wie sieht denn dieser "Speicherfehler" aus? Bekommst du eine Fehlermeldung? Wenn ja, wie lautet die genau?
  2. Klotzkopp

    [C]: Speicherfehler

    Tut mir leid, aber dein Programm geht nur, wenn man zu Beginn mindestens zwei Einträge anlegt, und zwischendurch nicht wieder alle löscht. Ich bekomme bei Wahl = 4 keinen Speicherfehler. Ich bekomme einen handfesten Absturz wegen Dereferenzierung eines Nullzeigers, wenn ich ein Element hinzufüge und gleich wieder lösche. Geht das bei dir etwa? Warum kann das nicht sein? Du versuchst, mit diesen statischen Variablen die Sonderfälle für push (noch kein Eintrag da) und pop (nur noch ein Eintrag da) zu unterscheiden. Das geht aber nicht, weil sich die Anzahl der Einträge eben in push und pop ändern kann. Wenn ich den letzten Eintrag in pop lösche, müsste IsHead in push ja auf magische Weise wieder true werden, damit das funktioniert.
  3. Klotzkopp

    [C]: Speicherfehler

    Deine Vorgehensweise mit den statischen bool-Variablen funktioniert so nicht. Wenn man z.B. ein Element anlegt und gleich wieder löscht, versuchst du in pop() auf head -> PNext -> PPrev zuzugreifen. head -> PNext ist aber 0. Mit funktionsstatischen Variablen kannst du nicht die Sonderfälle erkennen. Du musst das über die Zeiger selbst prüfen.
  4. Ich halte das nicht mal für einen Fehler. Eher sehe ich die allgmeine Belustigung in einer weit verbreiteten falschen Verwendung des Wortes "programmieren" begründet. IMHO stellt das direkte Objekt bei diesem Verb das System dar, für das ein Programm geschrieben wird. Man programmiert kein Programm, sondern einen Microcontroller oder eben ein Betriebssystem, d.h. man schreibt Programme für das Betriebssystem. Zum Vergleich: Das Wort "programmierbar", also etwas, das man programmieren kann. Ein Taschenrechner ist programmierbar, wenn man dafür Programme schreiben kann. Ich habe noch nie gehört, dass ein Programm programmierbar wäre. Insofern kann man das Erstellen von Shellskripten durchaus als das "Programmieren eines Betriebssystems" bezeichnen. MUSEN.
  5. *MilkaKuh an der Hand nehm* Siehst du, da links, da steht eine Übersicht. Und welche Klassenbibliothek benutzen wir? Richtig, die MFC. Und welches Control brauchen wir? Richtig, CListCtrl. Schau mal, da gibt es einen eigenen Menüpunkt "List Controls". Da klicken wir jetzt drauf. Und jetzt schauen wir uns die Liste der Artikel an. Ruhig etwas genauer. Schau mal, da gibt es einen, der heißt "Editing Sub-Items in List Control". Könnte das was für uns sein? Mal im Ernst, ein Minimum an Eigenleistung beim Suchen nach Informationen sollte man von einem Programmierer doch wohl erwarten können, oder?
  6. Das Windows-Standardlistcontrol unterstützt das nur für die erste Spalte. Du musst den Style LVS_EDITLABELS setzen und LVN_ENDLABELEDIT behandeln. Wenn du mehr willst, musst du das von Hand machen oder eine Klasse suchen, die das kann, z.B. bei codeproject.
  7. Falls du nicht UNICODE definiert hast, brauchst du da gar nichts umzuwandeln. In diesem Fall hat CString einen Konvertierungsoperator nach const char*. Du kannst also einfach den CString dieser Funktion als Parameter mitgeben.
  8. Bist du danz sicher, dass ein const char* nicht reicht? Falls du nicht UNICODE definiert hast, sollte das automatisch gehen. Wie sieht die Funktion aus, für die zu char* zu brauchen glaubst? Warum hat CString::GetBuffer bzw. CString::operator LPCTSTR nicht funktioniert, bzw. hast du das überhaupt ausprobiert?
  9. Warum führst du eigentlich zwei Threads gleichzeitig zu diesem Thema? Thread geschlossen, hier geht's weiter.
  10. Gar nicht. Ein CString ist eine Zeichenkette, ein char nur ein einzelnes Zeichen, das passt nicht. Falls du char* meinst: Sieh dir mal CString::GetBuffer an.
  11. Also, Das gehört überhaupt nicht zum Konstruktor. Hier ist alles normal. Ein Konstruktor mit einem CWnd*-Parameter. Dem Kommentar nach zu urteilen, hat der einen Defaultwert. Das ist eine normale Initialisierungliste. Hier wird ein Basisklassenkonstruktor mit zwei Parametern aufgerufen. Ja, und sonst passiert nichts. Du solltest da ewas reinschreiben können. Wenn das nicht geht, hat das jedenfalls nichts mit dem gezeigten Code zu tun, sondern vemutlich mit dem, was du reinschreibst. Auf die Steuerelemente des Dialogs kannst du hier jedenfalls noch nicht zugreifen, die sind noch nicht da. Hier wäre eine genauere Fehlerbeschreibung als "stürzt ab" hilfreich. So was hat schon VC6 erzeugt. Alle von CDialog abgeleiteten Klassen bekommen solche Konstruktoren. Damit kannst du beim Erzeugen einen Zeiger auf das Parent-Fenster angeben.
  12. Das meinte ich mit "nicht direkt"
  13. Die funktionieren schon. Man muss sie nur richtig benutzen. In der Doku zu RGBToHtml steht: Da steht, dass das ein Puffer sein muss, den der Aufrufer reserviert. Übergeben wird der in Form eines Zeigers (anders geht es in C nicht). Das Problem ist eigentlich meistens, dass man dem Parametertypen LPTSTR nicht direkt ansieht, dass es nur ein Zeiger ist.
  14. Das ist ein uninitialisierter Zeiger. Schlecht. Das ist ein uninitialisierter Zeiger auf einen Zeiger. Passt nicht. Das ist ein Array von uninitialiserten Zeigern. Passt auch nicht. TCHAR htmlCol[8];
  15. Im zweiten Parameter von OnBeforeNavigate steht doch der Ziel-URL.
  16. Du musst zum Drucken die ganze Ansicht skalieren, sobald du weißt, welche Auflösung der Drucker hat. Stichworte: OnPreparePrinting, GetDeviceCaps.
  17. Ich empfehle da: 1. Ein assert, dass GetDlgItem nicht 0 zurückgibt, und 2. Ein assert, dass es sich wirklich um ein CEdit* handelt (z.B. mit IsKindOf(RUNTIME_CLASS(CEdit)))
  18. Viele Leute, die in Foren wie diesem fertige Quelltexte suchen, sind solche, die ihre Hausaufgaben von anderen Leuten machen lassen wollen. Das wird nicht so gern gesehen Selbst ein Anfänger sollte ein BMI-Konsolenprogramm in annehmbarer Zeit hinbekommen. Bei konkreten Problemen mit dem Code wird hier auch gern geholfen. Ja. Ich würde sogar vemuten, mehr als für PHP und Java zusammen. Vielleicht nicht gerade etwas so triviales wie BMI
  19. Bei mir steht in der vom Assistenten generierten OnInitDialog-Methode immer folgender hilfreicher Hinweis: return TRUE; // return TRUE unless you set the focus to a control
  20. Du bist dir der üblichen Probleme bei dieser Methode bewusst? - wechselnde IP-Adressen bei DHCP-Clients - Keine Netzwerkkarte, keine MAC-Adresse - MAC-Adressen von BT-Sticks lassen sich prima weitergeben - Was ist, wenn jemand eine andere Netzwerkkarte einbaut? Was willst du denn damit erreichen?
  21. Muss denn bei mehrfachem Aufruf immer dieselbe Kombination herauskommen? Falls nicht (und es dich nicht stört, dass die Zahl etwas größer als gefordert ist): CoCreateGuid.
  22. Auch Beispiele stehen in der MSDN Library: http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_cfile.3a3a.open.asp
  23. Klotzkopp

    cmd.exe starten

    Wie wär's mit dem Basic-Forum? Ich schieb dich mal dahin
  24. Das lässt sich mit den Informationen, die du bisher geliefert hast, nicht sagen. Wie sehen die Anwendungsfälle aus? Viele Einfüge-/Löschvorgänge? Falls ja, vorne oder hinten oder mittendrin? Oder statische Daten? Viele Suchvorgänge oder Zugriffe über Index?

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