Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Nein, hab gerade eben nochmal nachgesehn, da gibt es das auch, an der gleichen Stelle. Was bei HRESULTs auch hilft: Den Wert mit angehängtem ",hr" ins Watchfenster des Debuggers eingeben: -2147221008,hr Anzeige: 0x800401f0 CoInitialize wurde nicht aufgerufen.
  2. Ich habe hier leider nur die englische Version von VC++.NET, da ist es unter Tools->Error Lookup Mich wundert, dass der Compiler das überhaupt schluckt. AFAIK ist CCommand::Open nicht statisch. Ich mache das normalerweise so: CCommand<MeinAccessor> cmd; HRESULT hr = cmd.Open(...); while(S_OK == cmd.MoveNext()) { // hier sind dann über cmd die Member des Accessors zugänglich. } [/CODE]
  3. -2147221008 ist 0x800401F0, und das ist CO_E_NOTINITIALIZED. OLEDB basiert auf COM, d.h. du musst in jedem Thread, der COM benutzt, vorher CoInitialize (bzw. CoInitializeEx) aufrufen. Sehr hilfreich bei allen HRESULTs und Rückgabewerten von GetLastError ist das Error LookUp Tool des Visual Studio. Das sagt zu -2147221008: "CoInitialize wurde nicht aufgerufen"
  4. Welchen Wert hat denn hr?
  5. Ich nehme an, dass das die beanstandete Zeile ist. Wenn du vergleichen willst, musst du == verwenden. = ist eine Zuweisung. Der Compiler warnt dich hier sogar. Wenn du ein einzelnes Zeichen vergleichen willst, musst du ein Characterliteral angeben. Characterliterale stehen im Gegensatz zu Stringliteralen in einfachen Anführungszeichen: if(str == ';')
  6. http://forum.fachinformatiker.de/showthread.php?s=&threadid=58118 Ist gerade mal 5 Tage her...
  7. Wenn du schon ein CButton* hast, brachst du nicht mehr mit den DlgItem-Funktionen zu arbeiten, denn die sind dafür vorgesehen, als Member des Dialogs aufgerufen zu werden. Du rufst sie als Member des Buttons auf, aber der hat keine "Unterbuttons". Also entweder SetDlgItemText( nID, "TEXT" ); oder b->SetWindowText("TEXT"); Da das ganze aber nichts mit Standard-C++ zu tun hat, schiebe ich dich in richtige Forum. Beim nächsten mal bitte selbst drauf achten .
  8. @FinalFantasy: Was du da hast, ist der reine Dienst, ohne Installationsfunktionalität. Ich hatte da wohl ein anderes Beispiel in Erinnerung. Du musst diesen Dienst noch registrieren, damit du ihn starten kannst. Wie das geht, findest du hier.
  9. Warum solltest du das nicht können? Einen Service startet man auch nicht so. Dienste werden vom Dienstmanager gestartetet und beendet. Wenn ich mich richtig an das MSDN-Beispiel erinnere, musste man es mit einem bestimmten Parameter starten, damit der Dienst beim Dienstmanager eingetragen wird. Der übernimmt den Rest.
  10. Du brauchst nichts zu verstecken. Du musst nur in der InitInstance-Methode deiner von CWinApp abgeleiteten Klasse einfach kein Fenster erstellen.
  11. Dazu brauchst du im Prinzip keinen Dienst. Eine einfache Windowsanwendung, die kein Fenster erstellt, ist nur im Taskmanager zu sehen. Das Problem daran ist nur: Solange du keine andere Möglichkeit einbaust, kann so eine Anwendung auch nur über den Taskmanager beendet werden, und beim Herunterfahren kommt die bekannte Meldung "Anwendung reagiert nicht". Mit einem Dienst geht das besser. Darüber hinaus kann ein Dienst auch laufen, wenn kein Benutzer angemeldet ist. Allerdings sind Dienste ein wenig komplizierter. Siehe dazu MSDN Library: http://msdn.microsoft.com/library/en-us/dllproc/base/services.asp
  12. Klotzkopp

    FAQ

    Wie wär's denn damit: Wer einen Beitrag für die FAQ vorschlagen (oder erstellen) will, macht einen neuen Thread auf, vielleicht gekennzeichnet durch [FAQ-Vorschlag] oder etwas in der Art. Dann können die Anderen ihre Anmerkungen und Verbesserungsvorschläge loswerden. Am Ende steht dann hoffentlich etwas, mit dem jeder mehr oder weniger zufrieden ist. Haben wir einen solchen Konsens, stelle ich den Text des Beitrags zu den FAQ. Was übrigens die Reaktivierung der FAQ angeht, bitte ich noch um etwas Geduld.
  13. Die Druck- und Druckwarteschlangenfunktionen gehören zu GDI, und GDI gehört zum Core SDK.
  14. http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
  15. Die Winspool.h, die beim Visual Studio 6.0 dabei ist, enthält tatsächlich nicht SetDefaultPrinter. Hast du das aktuelle Platform SDK installiert?
  16. MSDN Library hilft: SetDefaultPrinter funktioniert unter 2000, XP und höher. Wie es unter 9x und ME geht, steht auch dabei.
  17. Hast du eine Lösung gefunden, oder besteht das Problem nicht mehr? Wenn du eine Lösung hast, wäre es hilfreich, wenn du sie posten würdest
  18. Klotzkopp

    Batch > IE starten

    Ab ins Windowsforum damit...
  19. Wundert mich nicht. Du prüfst weder den Rückgabewert von ReadFile noch den Inhalt von dw1. Die -52 stand schon vorher drin
  20. Klotzkopp

    Was ist OPI ?

    Offensichtlich nicht. Die Frage ist ziemlich speziell, da kann es auch schon mal länger als einen Tag dauern, bis du eine Antwort bekommst. Nicht jeder schaut jeden Tag ins Forum. Also hab bitte ein wenig mehr Geduld, und lass das Threadpushing
  21. Zeigst du mal den Code, der dir -52 liefert?
  22. So kann man das nicht sagen. Die Syntaxprüfung beinhaltet nur, ob der Quelltext der Struktur der jeweiligen Programmiersprache entspricht. Da ist noch nichts übersetzt. Die Trennung zwischen semantischem Fehler und logischem Fehler ist nicht immer eindeutig möglich, es hängt auch oft von der Absicht des Programmierers ab, und die kann der Compiler nicht kennen. Das ist völlig korrekt so. Eine Anweisung kann aus einem Ausdruck, abgeschlossen mit einem Semikolon, bestehen, und ein numerisches Literal ist auch ein Ausdruck. Dass der "Wert" dieses Ausdrucks nicht weiterverarbeitet wird, macht ja nichts. Nachtrag: Ein Compiler dürfte sich aber laut Standard über "void main" beklagen. Das wäre dann IMHO ein semantischer Fehler.
  23. Nein, zum Zeitpunkt der Syntaxanalyse gibt es noch keine "Datentypen". Die Syntax für eine if-Anweisung könnte z.B. so aussehen: if(Ausdruck) Anweisung Sowohl für Ausdruck als auch für Anweisung gibt es wieder eigene Syntaxregeln. Ein Ausdruck könnte z.B. sein: Ausdruck BinärerOperator Ausdruck oder nur Bezeichner Damit ist a = b ein syntaktisch gültiger Ausdruck. Wenn jetzt b nicht an a zugewiesen werden kann (z.B. weil kein passender Zuweisungsoperator vorhanden ist), dann ist das semantisch falsch. Wenn == gemeint war, ist es logisch falsch. Nein. Das hier sind ziemlich sicher Syntaxfehler: if(a=) if a= if(a=if)
  24. Die MFC beinhalten keine XML-Funktionalität. Von Microsoft gibt es MSXML, mit einer ausführlichen SDK-Beschreibung in der MSDN-Library. Dann gibt es auch noch Xerxes, und die boost-Library kann IIRC auch mit XML umgehen. Ich habe aber beide noch nicht verwendet. Gib einfach mal "XML Parser" in die Suchmaschine deiner Wahl ein, da findest du ziemlich viel.

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