Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Und wenn du &CPatient::DokumenteVergleichen schreibst?
  2. Wenn der Compiler an Parameter 1 herummäkelt, ist es ziemlich egal, wie Parameter 2 aussieht! Bei der Deklaration einer statischen Memberfunktion muss static stehen, bei der Definition nicht! Und die Deklaration muss in die Klasse, ohne den Klassennamen davor! Und der Cast ist auch immer noch falsch. Ich habe doch schon hingeschrieben, wie das aussehen muss! Ich stehe kurz davor, multiple Ausrufezeichen zu machen!
  3. Richtig. Und statische Memberfunktionen definiert man ohne das Schlüsselwort static -> Grundlagentutorial
  4. Nochmal der Verweis auf ein Grundlagentutorial. Das muss so aussehen: int CALLBACK CPatient::DokumenteVergleichen(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) Also ohne static, dafür mit dem Klassennamen.
  5. Nein, das ist kein Cast. Ein Cast sähe so aus: CString test = [b](CString)[/b] test; Die Definition passt nicht auf die Deklaration, oder du hast die Funktion nicht definiert, oder die Übersetzungseinheit, in der sie definiert ist, nicht dazugelinkt.
  6. Eine explizite Typumwandlung. SortItems erwartet als zweiten Parameter LPARAM, wir haben einen MFC-Fensterzeiger. Das lässt sich nicht implizit umwandeln, daraum brauchen wir einen Cast. In diesem Fall ist das ein C-Style-cast: Man schreibt den neuen Typ in Klammern davor. So langsam habe ich den Eindruck, dass du dir das ein oder andere Grundlagentutorial zu Gemüte führen solltest
  7. Dann musst du schon den Klassennamen dazuschreiben, in dem DokumenteVergleichen deklariert ist. Wie ich oben bereits geschrieben habe: Und einen Cast auf LPARAM brauchst du auch. Liest du eigentlich nicht, was ich schreibe?
  8. m_ctrlList.SortItems(DokumenteVergleichen,(LPARAM)&m_ctrlList); Ist denn DokumenteVergleichen Member derselben Klasse wie m_ctrlList?
  9. Lies meine Signatur Der * vor m_ctrlList sollte aber schon ein & sein.
  10. Du musst beim Aufruf von SortItems die Klammern bei DokumenteVergleichen weglassen, denn du musst den Funktionszeiger übergeben, wie ich oben schon geschrieben habe, nicht den Rückgabewert eines Aufrufs. Du kannst in DokumenteVergleichen nicht auf m_ctrlList zugreifen, weil die Vergleichsfunktion static sein muss, wie ich oben schon geschrieben habe. Überlicherweise übergibt man als zweiten Parameter entweder einen Zeiger auf das Steuerelement oder sein Elternfenster und holt das in der Vergleichsfunktion wieder raus. Außerdem hat das Sortieren nichts mit der aktuellen Auswahlmarkierung zu tun. Wie gesagt: Wie du daran die zu vergleichenden Einträge erkennst, und wie du darüber an die Daten kommst, die du für den Vergleich brauchst, darum musst du dich selbst kümmern. So lange du nicht jedem Eintrag mit SetItemData einen Wert zuweist, an dem du ihn erkennen kannst, wird das nichts.
  11. Als erstes brauchst du eine Funktion zum Vergleichen zweier Einträge. Die muss so aussehen: int CALLBACK NameEgal(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)Die Parameternamen sind auch egal. Wenn es eine Memberfunktion ist, muss sie static sein. Beim Aufruf von SortItems gibst du den Funktionszeiger dieser Funktion an. Die Funktion wird dann immer wieder aufgerufen, bis die Reihenfolge der Einträge geklärt ist. In lParam1 und lParam2 stehen die Itemdata-Werte, die den Einträgen zugeordnet wurden. In lParamSort landet der Wert, den du als zweiten Parameter bei SortItems angegeben hast. In der Funktion musst du dann von den ItemData-Werten auf die zu vergleichenden Werte kommen, und dann je nach Relation der zu vergleichenden Einträge -1, 0 oder 1 zurückgeben.
  12. Hast du hier mal nach *SortItems gesucht? Das Thema hatten wir schon mehrmals.
  13. Auch hier ist die Klammerung falsch, und anscheinend fehlt auch hier das Semikolon.
  14. Kommt drauf an. Du hast nicht gezeigt, wie bNT gesetzt wird. Allerdings vermute ich da ein Missverständnis. CreateToolhelp32Snapshot gibt es wirklich nur unter NT nicht. Unter 2000 und XP ist es da. Die OpenProcess-Lösung ist die "ältere".
  15. Dann vermute ich, dass das am Server oder an deiner Anbindung an diesen Server liegt
  16. Und mit einem normalen FTP-Client geht's?
  17. Hm. Ich bin hier zwar kein Admin, aber habe doch offenbar ziemlich viele Rechte. Der Name ohne Pfad steht im szExeFile-Member der PROCESSENTRY32-Struktur.
  18. Nur am Rande: GetLastError kann man nur dann sinnvoll aufrufen, wenn vorher etwas schiefgegangen ist. Und? Ist das zu viel oder zu wenig? Wie groß ist die Quelldatei? Stimmt der Inhalt, oder steht da nur Quatsch drin?
  19. Sonnenflecken. Im Ernst, wie soll dir jemand helfen, wenn du so überhaupt gar keine Fehlerbeschreibung ablieferst? P.S.: lädt
  20. Ein Privileg, das nicht da ist, kannst du auch nicht mit AdjustTokenPrivileges aktivieren. Haben andere (nicht-Java-) Prozesse bei dir dieses Privileg?
  21. Genau. Es steht immer da, nur eben normalerweise Disabled. Die beiden Bilder zeigen des Zustand vorher und nachher:
  22. Kann ich nicht ausschließen. Mach doch vor und nach dem Aufruf eine MessageBox, dann kannst du dir das genauer ansehen. Ja. Das Privileg war vor dem Aufruf Disabled.
  23. Dein Code funktioniert bei mir in einer Konsolenanwendung. Der Process Explorer zeigt nach dem Aufruf von AdjustTokenPrivileges SeDebugPrivilege nicht mehr als Disabled an.
  24. Lies meine Signatur. Welchen Rückgabewert bekommst du denn? Alle anderen Diagnosemöglichkeiten hast du ja auskommentiert.
  25. Anscheinend braucht ein Prozess das Privileg SE_DEBUG_NAME, um an die Dateipfade der Prozesse zu kommen. Dieses Privileg bekommen nur Prozesse, die von einem Administrator gestartet werden, automatisch. Du kannst das Privilig aber nachträglich hinzufügen. Stichwort AdjustTokenPrivileges.

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