Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Auf jeden Fall. Im Gegensatz zu Win9x darf bei NT/2000/XP nicht jeder Nutzer alles. Eine andere Möglichkeit wäre, dass du auf spezielle Ordner zugreifst, die unter 2000/XP an anderer Stelle im Dateisystem liegen, z.B. "Eigene Dateien". Hast du mal mit einem Debugger geprüft, was genau nicht funktioniert?
  2. Wenn mich nicht alles täuscht, kann man den Select zusammenklappen: Dim ersterDatum, letzterDatum as Date Dim werktag as Long werktag= Weekday(STcalendar2.ActDate, vbUseSystemDayOfWeek) ersterDatum = DateAdd("d", -werktag, STcalendar2.ActDate) letzterDatum = DateAdd("d", 8-werktag, STcalendar2.ActDate) [/PHP]
  3. fstream ist ein stream, wie der Name schon sagt Ein Minimalbeispiel: Ein int schreiben und lesen #include <fstream> using namespace std; int main(int argc, char* argv[]) { int var = 42; ofstream schreiben( "test.dat", ios::binary ); schreiben.write( reinterpret_cast<char*>( &var ), sizeof( var ) ); schreiben.close(); int var2 = 0; ifstream lesen( "test.dat", ios::binary ); lesen.read( reinterpret_cast<char*>( &var2 ), sizeof( var2 ) ); lesen.close(); }[/CODE]
  4. Da hat er recht adr ist ein Zeiger, also musst du den den Pfeiloperator verwenden: adr->pos = 11;
  5. Dann zeig doch bitte mal den ganzen Code und den genauen Text der Fehlermeldung.
  6. Genau so.
  7. CWnd hat eine Methode SendMessage mit drei Parametern. Da deine Klasse von CWnd abgeleitet ist (über CDialog), verdeckt diese Methode die globale Funktion SendMessage. Setz einfach zwei Doppelpunkte davor, dann sollte es gehen.
  8. Und damit das geht, muss prev ein struct ADRESSEN* sein, denn adr ist ja auch einer. Du musst in deiner Struktur einfach nur den Typ von prev und next von int auf struct ADRESSEN* ändern, dann kannst du die Liste aufbauen.
  9. Dann ist es nach meiner persönlichen Meinung eine Frechheit, andere damit zu belästigen, denn dann erwartest du von den Helfern eine höhere Bereitschaft zur Lösung dieser Aufgabe, als du selbst aufzubringen bereit bist. Du erwartest von anderen Benutzern des Forums, das zu tun, wozu du offenbar selbst zu faul bist. Vielleicht solltest du diese Einstellung mal in Ruhe überdenken. Dieses Forum ist kein Lösungsservice für lästige Hausaufgaben.
  10. Meinst du jetzt mit "Position" eine Art Index, also von Null bis irgendwas, oder die tatsächliche Speicheradresse? Falls ersteres: Das ist Unsinn, denn der nächste Index ist der eigene Index + 1, also redundant. Falls letzteres: Für Speicheradressen verwendet man Zeiger, keine Integer, auch wenn beides letztendlich Zahlen sind. Du kannst dich z.B. nicht darauf verlassen, dass ein int genauso groß ist wie ein struct ADRESSEN*. Außerdem erschwert es die Verwendung der Liste, weil du ständig casts machen musst. Und damit untergräbst du die Sicherheit, die dir die Typstrenge bietet.
  11. Das verstehe ich nicht. Für "Speicheradressen" verwendet man Zeiger, keine ints. Was hast du mit den ints vor?
  12. Es steht doch praktisch schon da: Also: class Time { // ... Time add( int minuten ); // ... };[/CODE]Versuchs doch einfach mal, und zeig uns deine Ergebnisse, dann sagen wir dir, was falsch ist. So ist der Lerneffekt höher
  13. Die File-Streams sind auch Datenströme
  14. next und prev müssen vom Typ struct ADRESSEN* sein, sonst bekommst du damit keine Verkettung hin. Du brauchst ja einen Zeiger auf die nächste/vorherige Struktur. Außerdem solltest du die struct-Deklaration mit einem Semikolon abschließen. Speicher reservieren: struct ADRESSEN* neueAdresse = malloc( sizeof( struct ADRESSEN ) );
  15. Zum Analysieren von Dumpfiles verwendet man Debugger, allerdings sind nicht alle dazu in der Lage. WinDbg z.B. kann das (gibts kostenlos hier). Die Bedienung ist nicht gerade komfortabel, aber die mitgelieferte Hilfe ist sehr ausführlich. Wenn es Minidumps sind (64kByte), muss WinDbg auf die Binaries des abgeschmierten Systems (Kernel, dazugehörige DLLs und Treiber) zugreifen können, um eine ordentliche Analyse machen zu können. Die Debug-Symbole des Systems sind auch immer hilfreich. Der Inhalt des Bluescreens steht sinngemäß auch im Dump, und auszugsweise im Ereignisprotokoll.
  16. Indem du die geforderten Eigenschaften aus dem Aufgabentext in Methoden der Klasse umsetzt. Aus der ersten Aufgabe kannst du zum Beispiel ablesen, dass die Klasse Time einen Konstruktor für zwei Integer Time t0(23, 59) einen Default-Konstruktor Time t1 und eine Methode add braucht. Die add-Methode bekommt einen Integer als Parameter und gibt ein neues Time-Objekt zurück: t1 = t0.and(120); Die Klasse sollte außerdem die Werte für Stunden und Minuten speichern können.
  17. Falsches Forum, drum: --> Verschoben nach: C++: Compiler, IDEs, APIs
  18. Das ist eigentlich immer möglich. Die DLL kann ja einen Fehlercode zurückgeben, wenn der von der EXE übergebene Speicher nicht groß genug ist. Deine DLL und deine EXE verwenden die C-Laufzeitumgebung. Das ist eine Bibliothek, die sich u.a. um den Heap kümmert. Es gibt sie (bei MSVC) in drei Versionen: Single-threaded, Multi-threaded und Multi-threaded DLL. Dazu gibt es jeweils noch eine Debug-Version. Nur die letzte kann man dynamisch linken, d.h. in allen anderen Fällen hast du zwei Laufzeitumgebungen, eine in der EXE und eine in der DLL, und damit auch zwei Heaps. Nur wenn beide die Multi-threaded DLL-Version verwenden, teilen sie sich eine Laufzeitumgebung, und damit auch einen Heap. Die Einstellung, welche Laufzeitbibliothek verwendet werden soll, findest du bei MSVC in den Projekteinstellungen unter C/C++->Code Generation.
  19. Die DLL und die EXE haben jeweils ihren eigenen Heap. Du allokierst auf dem Heap der DLL und gibst auf dem Heap der EXE frei. Du kannst das vermutlich verhindern, indem du für DLL und EXE dieselbe DLL-Version der C-Runtime verwendest. Nicht zuletzt vom Design-Standpunkt gesehen, ist es aber wahrscheinlich besser, wenn die EXE den Speicher selbst holt. --> Verschoben: C++: Compiler, IDEs, APIs
  20. Mit GetActiveView kannst du aus der Frameklasse einen Zeiger auf die aktive View-Instanz bekommen. Den musst du dann nur noch auf den Typ deiner Viewklasse casten.
  21. Leider hilft die Eigenschaft "Komisch" nicht dabei, den Fehler einzugrenzen. Wie lautet die Meldung genau, und wann tritt sie auf? --> Verschoben: C++: Compiler, IDEs, APIs
  22. Ich grüble gerade an der 10. Wirklich nett...
  23. Was ist mit dem Rückgabewert von ReadFile und dem Wert, den Readfile in den vierten Parameter schreibt? Da sollte doch drinstehen, wieviele gültige Bytes im Puffer sind. Das zeitliche Verhalten von ReadFile solltest du über SetCommTimeouts beeinflussen können.
  24. Nein, denn es gibt ja immer nur ein Ahnen-Fenster. Aber du kannst dir mit GetWindow und GW_CHILD das erste Kindfenster des Root-Fensters holen und dessen Handle als Startpunkt für deine Schleife verwenden.
  25. Mit long, short und char schon. Hast du noch andere?

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