Zum Inhalt springen

Babybaer

Mitglieder
  • Gesamte Inhalte

    307
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Babybaer

  1. Ich habe die DLL in eine Standard Anwendung eingebunden. Da tut es. Es schein Probleme mit der OCX zu geben. Aber warum?
  2. Hallo Leutz, ich steh mal wieder auf der Leitung. Ich habe eine DLL geschrieben. Ich möchte nur eine einzige Klasse exportieren, also nach außenhin sichtbar machen. Diese DLL binde ich in eine OCX ein. Leider bekomme ich immer einen Fehler. Siehe unten... Was mache ich falsch und wie mache ich es richtig? Ich kann keinen Fehler finden. dieser Code war vorher in einer OCX eingebunden. Leider brauche ich aber jetzt eine DLL. ... header ... #define DllExport __declspec( dllexport ) class DllExport CMyClass { public: //Ein Zeiger auf die einzige Instance static CMyClass* pInstance; CMyClass(void); CMyClass(const CMyClass&); ~CMyClass(void); CMyClass& operator=(const CMyClass&); //Singleton Instance erstellen static CMyClass* getInstance() { if(!pInstance) { pInstance = NULL; pInstance = new CMyClass; } return pInstance; } ... ... cpp ... / / Singleton Instance für das Objekt CMyClass CMyClass* CMyClass::pInstance = NULL; CMyClass::CMyClass(void) { ... ...Fehlermeldung MyClass error LNK2001: Nichtaufgelöstes externes Symbol "public: static class CMyClass* CMyClass::pInstance" (?pInstance@CMyClass@@2PAV1@A)'
  3. Hallo Zusammen, es ist bestimmt ganz einfach. Wenn ich API Funktionen nutze, bekomme ich doch immer einen Returncode zurück, den ich dann nachschlagen darf, kann. Gibt es eine Möglichkeit über eine Funktion den Text dazu zu bekommen? Thema Logfile. In C++.
  4. Hat mir jemand eine fertig funktionierendes Beispiel? (Class) Oder vielleicht eine sehr gut Beschreibung (auch gern in Deutsch). THX
  5. Hallo Leutz, ich möchte gerne verschiedene Events im EventLog von meinem Betriebssystem sichtbar machen. Leider bekomme ich eins nicht hin, ich kann keine Beschreibung ausgeben, es wird nur eine Ereignisinformationen ausgegeben. ----- bool CLogger::ReportEventLog() { CString pstrUsername; CString pstrDomain; PSID psidOwner; LPTSTR pszSrcName = _T("programmname"); GetCallProcessUser(&pstrUsername, &pstrDomain, &psidOwner); HANDLE handle; handle= RegisterEventSource(NULL, pszSrcName); if (handle == NULL) { AfxMessageBox(_T("Could not register the event source.")); return false; } LPCSTR lpMsgBuf = _T("Test ist erfolgt"); int n = strlen(lpMsgBuf); if (!ReportEvent(handle , EVENTLOG_ERROR_TYPE, 0, 1024,psidOwner,1,0,&lpMsgBuf,NULL); { AfxMessageBox(_T("Could not report the event.")); } DeregisterEventSource(handle); return true; } -----
  6. Das mit dem Anworten tut wohl noch nicht ganz richtig. Habe den ersten Text geschrieben, dieser wurde aber erst sichtbar, als ich die 2te Antwort bestätigtet ???. Das soll Einer verstehen.
  7. Ziel: Ich möchte in eine Exe, ohne einen Dialog zu nutzen, ein ActiveX Control (OCX) einbinden. Bestand: Habe eine OCX die 3 Methoden nach außen gibt. Eine Exe in der ich die OCX eingebunden habe mit Hilfe der VC++ Studios 7.1. Assi. Klasse hinzufügen, MFC ActiveX Control, usw... Es wurde eine Class angelegt, mit der ich die Methoden der OCX benutzen kann. Habe dann ein Objekt erzeugt und die Methode gerufen... Fehler: m_pCtrlSite == NULL in der winocc.cpp Was habe ich vergessen. Liegt es daran das die Class, die vom Assi angelegt wurde, von Wnd abgeleitet ist? Oder habe ich ein Create.. vergessen. Habe so was noch nie gemacht immer über einen Dlg. ///////////////////////////////////////////////////////////////////////////// // CWnd invoke helpers for OLE Control wrappers void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet, void* pvRet, const BYTE* pbParamInfo, ...) { --> FEHLER hier --->>> ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least) if (m_pCtrlSite == NULL) return; va_list argList; va_start(argList, pbParamInfo); m_pCtrlSite->InvokeHelperV(dwDispID, wFlags, vtRet, pvRet, pbParamInfo, argList); va_end(argList); }
  8. Ich habe eine exe in der ich eine OCX eingebunden habe. (Nicht über den Dialog) Hinzufügen Klasse AktiveX Control ... . Das VC++ Studio generiert dann eine (oder auch mehrere ) Klasse mit den Methoden aus der OCX. Ich kann also auch eine Objekt erzeugen und die Methoden aufrufen. die Methode: long Install(LPCTSTR strProduct) { long result; static BYTE parms[] = VTS_BSTR ; InvokeHelper(0x1, DISPATCH_METHOD, VT_I4, (void*)&result, parms, strProduct); return result; } --- hier Absturz in winocc.cpp m_pCtrlSite ist NULL; Warum? ///////////////////////////////////////////////////////////////////////////// // CWnd invoke helpers for OLE Control wrappers void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet, void* pvRet, const BYTE* pbParamInfo, ...) { ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least) if (m_pCtrlSite == NULL) return; va_list argList; va_start(argList, pbParamInfo); m_pCtrlSite->InvokeHelperV(dwDispID, wFlags, vtRet, pvRet, pbParamInfo, argList); va_end(argList); } --- Fehlermeldung: Debug Assertion Failed! File: winocc.cpp Line 374 ...
  9. Hallo Leute, ich habe eine ActiveX Control eingebunden und wenn ich auf die Methoden der OCX zugreife, bricht mir alles zusammen. Ich habe auch CoInitialize((LPVOID)0) zuvorgemacht, hier bekomme ich schon als Returnvalue S_FALSE zurück, keine Ahnung warum. Die ole32.lib habe ich auch drin und auch das vorgegebene Header habe ich. HILFE VC++ 7.1 habe ich im Einsatz.
  10. Danke, aber ich werde es mit GetSecurityInfo(...) bekommen auslesen. THX
  11. Hallo Leutz, hat einer eine Ahnung wie ich den User bekomme der meine Anwendung (Process) gestartet hat? Im Taskmanager ist er ja zu sehen. Einer eine Idee, welche Methode(n) es gibt? :confused:
  12. Also ich benutze das Windows XP, aber das sollte auch unter NT tun. Entwickelt in MS VS.net 7.1 mit MFC. Benutze noch ActiveX und Socket Komponenten. Vorgehen: 1. Ich mache eine DosBox auf. 2. xxxx.exe -Parameter + Argumente und dann Programm starten (DosBox bleibt bestehen) 3. Verarbeitung der CmdLine 4. Ausgabe an DosBox in der das Programm gestartet wurde. (TUT NICHT) Es ist bestimmt möglich mit FindWindow aber was mache ich wenn der User mehrere DosBoxen auf hat? Also etwas schlecht die Idee. Aber es muss doch möglich sein, heraus zubekommen wo das Programm gestartet wurde. Leider habe ich keinen Object auf das ich zugreifen kann. Schnief.
  13. Nein das ist es nicht gewesen, leider. Der macht mir ein neues Fenster auf, das bleibt zwar stehen, ist so aber nicht gewünscht. Sollte man da nicht mit FindWindow ran gehen? Das ist ein Mist.
  14. Hallo Leutz, mein Problem besteht darin etwas in die CMD-Console zu schreiben. Ich habe eine MFC-Anwendung mit Commandline. Da ich beide Optionen benötige (Dialog und CMD) muß ich Returnwerte an die Console schicken. Nur pop das Ding nur kurz auf. Das ist aber nicht das was ich will. Ich möchte das der Text in der Console sichtbar wird, in dem ich zuvor mein Programm gestartet habe. FILE *stream; stream = fopen( "fprintf.out", "w" ); fprintf(stdout,"hello-out"); fclose( stream ); system( "type fprintf.out" ); :confused: THX
  15. Das sollte aber mit LoadMenu funzen. Versuch mal beide Menüs mit Loadmenu zu laden. Du hast bestimmt default ein Menu im Dialog angelegt. Ansonsten lass mal die Ressourcen weg und erstelle Dir ein Menü selber mit der Klasse CMenu. CreateMenu und dann LoadMenu ... siehe MSDN dazu.
  16. Hallo, möchte gern die Zipfunktion von XP in meinem Programm nutzen COM Schnittstelle oder so. Jemand eine Idee.
  17. Hallo, möchte gern die Zipfunktion von XP in meinem Programm nutzen COM Schnittstelle oder so. Jemand eine Idee.
  18. Wer sucht der findet. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/userex/cookbook.asp THX
  19. Nein habe ich nicht. wie bekomme ich das nette XML File in mein Projekt???
  20. Hallo Leutz, kann mir jemand sagen wie ich den XP-Style hinbekomme? Arbeite mit MFC 7.1 Ich habe vor Monaten eine Anwendung geschrieben und da ist der XP-Style automatisch dabei gewesen und jetzt finde ich die Einstellung im MS Studio.Net 2003 V7.1 nicht mehr. Habe es zwar jetzt die CButton Klasse überschrieben aber wenn es einfacher geht warum nicht. THX
  21. Hallo Leutz, gibt es eine API Function mit dem ich alle Handle auf ein File schließen kann? THX
  22. Hallo Leutz, ich habe schon vor langer Zeit mal eine OCX in C++ geschrieben. Die Funktion geht nur unter Windows XP, leider musste ich jetzt feststellen, das wenn ein Benutzer keine Adminrechte besitzt, dass das Object nur einmal ausgeführt werden kann und nach dem Benutzen nicht mehr frei gegeben wird. Dagegen läuft unter dem Admin alles so wie ich es gern hätte. Hat einer eine Idee. Ich selber habe die Vermutung das es an der Rechtevergabe, 'GPO' liegt. Aber welche. Details dazu noch: Erzeuge eine Objekt auf die ShellBurn() und benutze die IMAPI. Dienst startet. IMAPI.exe ist auch im Taskmanager Dialog kommt auch. Bei Abbrechen und wieder Aufruf versagt die Methode ShellBurn und gibt eine Fehlermeldung aus. "Die CD wird momentan verwendet, warten Sie, bevor Sie den ..." Hat jemand eine Idee??? THX
  23. Ok Danke, aber ich habe schon was gefunden. Kann aber dazu noch nichts sagen. Mach morgen weiter. Gibts zu deinem Programm auch ne Anleitung :-). THX
  24. Hallo Leutz, hat einer ein Ahnung wie ich von einem Binaryfile einen Hashwert ermitteln kann, oder vielleicht auch etwas nachlesen könnte. THX

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