Zum Inhalt springen

Leana

Mitglieder
  • Gesamte Inhalte

    73
  • Benutzer seit

  • Letzter Besuch

  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

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