Zum Inhalt springen

Leana

Mitglieder
  • Gesamte Inhalte

    73
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Leana

  1. ich hab nur die klammern um x.*fppointer vergessen, danke dir super hilfe... wenn du aber bitte trotzdem noch erklären könntest, warum das inline stehen muss
  2. och mann ich dreh gleich durch.... bei dem gibt es ne fehlermeldung x.*funcp(strProzess, strBack); fehlermeldung: rror C2064: term does not evaluate to a function d:\steffi\systemabfragentest\erweiterungsnapshot\erweiterungsnapshotdlg.cpp(1161) : see reference to function template instantiation 'void __thiscall CSystemInfo::GetActualProcInformation(class CString,int,void (__thiscall CErweiterungSnapSh otDlg::*)(class CString,class CString))' being compiled
  3. jetzt hab ich es doch geschafft das er sich übersetzen wollte... also ich guck mal ob es geht, ich versteh diesen compiler echt net kannst mir das mit dem outline, inline erklären
  4. jetzt bekomm ich ständig linkerfehler keine ahnung was falsch ist kannst du nochmal drüber gucken in der klasse steht //öffentliche methoden public: template <typename returntype, class C> void GetActualProcInformation(CString strProzess, int iInfoArt, returntype(C::*funcp)(CString,CString) ) { C x; int iStelle = FindPlace(strProzess); CString strBack; switch(iInfoArt) { case CPU_AUSLASTUNG: strBack = m_ProzessArray[iStelle].GetWert(); break; case VERGANGENE_ZEIT: strBack = m_ProzessArray[iStelle].GetTime(); break; case HANDLE_PROZESS: strBack = m_ProzessArray[iStelle].GetHandleCount(); break; case P_ID: strBack = m_ProzessArray[iStelle].GetProzessID(); break; case THREAD_HANDLE: HANDLE = m_ProzessArray[iStelle].GetThreadHandle(); //strBack break; default: break; } x.*funcp (strProzess, strBack); } mein aufruf in der anderen klasse: //funktionspointer erstellen void (CErweiterungSnapShotDlg::*pfunction)(CString strProzess, CString strWert); // jetzt zeigt pfunction auf CallbackFunction pfunction = &CErweiterungSnapShotDlg::CallbackFunction; CString strProc = m_ListProzesse.GetItemText(0,0); m_System.GetActualProcInformation(strProc, 1, pfunction); wo liegt der fehler
  5. ok ich hab das jetzt umgesetzt, mal schauen ob es geht. kannst du mir aber bitte erklären warum ich fehler bekomme, wenn es outline ist? und es bei inline das übersetzen funktioniert
  6. ja, genau, dass sieht schon viel besser aus! danke kannst du mir nur kurz erleutern, da wo du Param 1 und param 1 hast kann ich ja auch z.b. CString oder int oder so reinschreiben oder, wenn das fest definiert sein soll?
  7. das muss schon irgendwie gehen, aber wie? templates vielleicht! kann mir jemand helfen! schließlich sollen ja die schnittstellen allgemein gehalten werden und nicht nur von diesem einem dialog
  8. hallo ich habe eine methode in meiner datenhaltungsklasse, die den paramter einer callbackfunktion bekommen soll. in meiner anderen klasse, die diese methode aufrufen soll erstell ich den funktionspointer //funktionspointer erstellen void (CErweiterungSnapShotDlg::*pfunction)(CString strProzess, CString strWert); // jetzt zeigt pfunction auf CallbackFunction pfunction = &CErweiterungSnapShotDlg::CallbackFunction; nun will ich die methode der datenhaltungsklasse aufrufen und den funktionspointer übergeben mein problem ist, welchen datentyp muss ich denn in die methode reinschreiben für den funktionspointer, es soll allgemein gehalten werden... also egal in welcher klasse diese methode aufgerufen wird, es kann immer ein beliebiger funktionspointer mitgegeben werden.... bitte, kann mir jemand helfen?
  9. ich habe jetzt keine lust, deswegen ewig rumzureden... ich habe es implementiert und bei mir funktioniert es nun mal....
  10. hallloooooooooo das problem wurde gelöst udn wie du eigentlich wissen müsstest, dass wenn man eine variable zu einem ctrl anlegt und diesem einen wert zuweist, dass das dann funktioniert und der wert gleich angezeigt wird ohne update! (siehe beschreibung!) also ich hab es so beschrieben wie es auch ist, es hat ja nur net unter 98 funktioniert also..... ich wünsche dir, dass du bald mehr erkenntnisse dazu gewinnst
  11. ist schon ok!!! *lach* ja da bin ich auch gerade drauf gekommen mit der funktion und es geht! *jipiii* ist anscheinend ein updateproblem unter 98 und glaube mir, es geht unter 2000, mach ich doch und es funkt aber danke für dienen hilfe
  12. Also es wird geprüft, ob es 95/98 ist, weil man ab 2000 die CPU Auslastung anders ausgelesen werden muss. die Variable m_strGesamtauslastung ist die von meinem Edit Ctrl if(m_strVersion != W95 && m_strVersion != W98) { long lAusgabe = m_System.GetTotalUsage(); m_strGesamtauslastung.Format("%d", lAusgabe); } else { DWORD dwUsage = m_System.GetCPUUsage9x(); m_strGesamtauslastung.Format("%d",dwUsage); } unter 2000 funktioniert es, deswegen wundert es mcih ja das es unter 98 nicht geht. meine erkenntnisse, dass meine threads funktionieren, habe ich natürlich durch das debuggen unter 98 gewonnen. bin ja net blöde, nicht und ich arbeite ohne updateData(false); also kann mir jetzt jemand helfen, bitte!!!
  13. blöde sprüche helfen mir nicht weiter! ich weiß ja nciht woran es liegt das 98 es net anzeigt, dazu brauch ich nun mal ne lösung
  14. ja bin mir sicher, der thread wird gestartet wirft regelmäßig seine messages mit den werten das fenster fängt die auf und schreibt sie auch in die variable von dem editctrl daher liegt das wirklich nicht am thread, sondern nur an der ausgabe! unter 2000 oder nt schreib ich das auch einfahc in die variable udn es wird angezeigt es geht nur nciht unter 98
  15. nein mit den threads hat das nichts zu tun! die werte schicke ich an das fenster aus den threads heraus und diese fange ich im fenster auf das problem ist nur das anzeigen
  16. Also ich hab ein Dialog, auf den mehrere Editfelder sind. eins davon wird ständig mit einem neuen wert gefüllt, bzw. sollte es ich hab mir hierfür einen thread gebaut! mein problem ist, dass sich die werte nicht anzeigen unter 98 ich hab für dieses editfeld eine CString variable angelegt und weise den wert entsprechen zu. unter nt/2000.... funktioniert das ganz einfach zuweisen -> und man sieht es am dialog unter 98 funktioniert das nicht!!! warum? mit UpdateData() hab ich es probiert -> fehlermeldung, schluckt er nicht oder UpdateWindow() macht gar nichts!!! hat jemand dazu ne lösung!? ich verzweifel sonst :confused:
  17. Hi, also die Angaben zur GH1 und GH2 FIAE sommer 2003 hab ich mittlerweile gefunden! und die Lösung zur GH2 auch! aber GH1 gibt es ncoh keine lösung! hat da jemand evtl schon irgendwas gefunden udn ich hab das nur übersehen? danke
  18. Sehe ich nicht so Bei GH1 war ich schon 20 min früher fertig und bei GH2 war es stressig aber ich denke das liegt einfach an dem eingenen wissen und was einem besser liegt
  19. ein paar aus der Fürther BS werden auch mit dabei sein, ist ja wohl klar
  20. dann muss das ja ne globale variable sein! richtig?
  21. hätte trotzdem ncoh ne doofe frage ! wie mach ich das mit dem flag!? wie sag ich ihm, bitte versuch dich mal zu beenden!?
  22. Ok ich guck mal ob ich das irgendwie hinbekomm! mal schauen und danke für eure antworten
  23. Also ich starte aus einer anwendung heraus einige threads! die thread id kann ich mir auch merken nun möchte ich beim beenden meiner anwendung allen threads sagen, "beende dich" nun ist die frage wie ich das machen kann! ich müsst ja eigentlich jedem einzelnen thread sagen, ende! hat jemand ne ahnung wie das gehen kann! ich arbeite mit VC++ 6.0 und mfc danke für die hilfe :confused:

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