Alle Beiträge von Klotzkopp
-
Öffnen von Excel-Worbooks mit vielen Datensätzen
Ohne mir jetzt alles genau angesehen zu haben, ist mir doch das hier aufgefallen: Zelle ist nur zwei Zeichen groß, davon brauchst du eins für das Stringende-Nullzeichen. Wenn du daran etwas anhängst, überschreibst du andere Stackinhalte. Das kann zu seltsamen Fehlern führen, vor allem bei längeren Strings in str_group. Reserviere also erst mal genügen Speicher für Zelle. Wenn der Fehler dann noch auftritt, kannst du ja nochmal Bescheid geben.
-
CTime
Jetzt hast du zwei uninitialisierte Zeiger. Hier rufst du über einen Zeiger eine statische Methode auf, ignorierst aber den (entscheidenden) Rückgabewert. Wahrscheinlich möchtest du das COleDateTime-Objekt, auf das pMaxRange zeigt, auf die aktuelle Zeit setzen. Das geht aber so nicht, weil erstens pMaxRange auf gar kein Objekt zeigt (siehe oben) und zweitens GetCurrentTime statisch ist, also gar nicht auf *pMaxRange zugreift, selbst wenn das ein Objekt wäre. Hier rufst du SetRange mit den (immer noch) uninitialisierten Zeigern auf. Das fliegt dir vermutlich um die Ohren. Was du willst, sieht vermutlich so aus: COleDateTime maxrange = COleDateTime::GetCurrentTime(); m_cMonatBis.SetRange( NULL, &maxrange );[/CODE] In der MSDN Library steht bei CDateTimeCtrl::SetRange auch ein Beispiel.
-
WinXP Benutzerkonto
Ja, gibt es. Aber man kann sich nur im abgesicherten Modus als Administrator anmelden.
-
Trace
DebugView fängt alle Debug-Ausgaben auf, auch wenn das betreffende Programm nicht im Debugger, sondern ganz normal ausgeführt wird. DebugView fängt sogar Kernel-Debugmeldungen auf. Das ist sehr hilfreich beim Treiber-Debugging, und überall sonst, wo es auf Timing ankommt, und immer dann, wenn sich Fehler im Debugger nicht reproduzieren lassen. Eigentlich sind alle Tools von sysinternals sehr hilfreich. Kann ich jedem, der sich näher mit der Funktionsweise von Windows beschäftigen will (oder muss), nur wärmstens empfehlen.
-
Hilfedateien bei Microsofts Platform SDK
Wenn du die .CHM-Dateien meinst, die kannst du mit HTMLHelp öffnen. HTMLHelp gibt's bei Microsoft: http://msdn.microsoft.com/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp Die Hilfedateien werden aber auch in die MSDN Library eingebunden.
-
Squid Compilieren
Schau dir das mal an, vielleicht hilft's: http://ftp.dc.aleron.net/squid/http/mail-archive/squid-users/200010/0042.html
-
6 aus 49 Lottozahlenzufallsgenerator
War das die Fehlermeldung, die du bekommen hast? Mein Compiler spricht immer ganz anders zu mir. Wenn du y[5] deklarierst, kannst du y[0] bis y[4] benutzen. Bei einem Zugriff auf y[5] bekommst du eine Fehlermeldung, wenn du Glück hast. Das Codebeispiel von Guybrush Threepwood macht doch genau das. Da würde ich eine Schleife um den Codeblock machen, und wenn bDoppelt am Ende false ist, rausspringen. Dann werden zwar alle Zahlen neu gezogen, aber das sollte ja nicht so tragisch sein. Du erwartest hoffentlich nicht, dass dir hier jemand eine fertige Lösung hinschreibt. Sag, was nicht funktioniert hat, und wir helfen dir gern, die Fehler zu beheben.
-
Nte wurzel ziehen!
Beispiel: Fünfte Wurzel aus 32. #include <math.h> double radikant = 32; int wurzelpotenz = 5; double wurzel = pow( radikant, 1.0 / wurzelpotenz );
-
Windows Ontop
Bei Dialogen gehört die Anweisung in OnInitDialog.
-
CString
Wie sieht denn das Umfeld des Funktionsaufrufs aus? Vielleicht UpdateData vergessen? Übrigens, wenn du die Kommata durch Zeilenumbrüche ersetzen willst, kannst du CString::Replace verwenden. Dann brauchst du keine Schleife mehr.
-
Trace
Hast du denn auch ein Debug-Build angefertigt? Im Release-Build werden die TRACEs gar nicht kompiliert. Ansonsten kannst du auch mal DebugView nebenher laufen lassen, vielleicht sieht man dann was.
-
Windows Ontop
Du brauchst WM_WINDOWPOSCHANGED nicht. Nimm einfach die Codezeile, die da oben steht.
-
MFC: Fenster immer im Vordergrund (war: c++)
Genau. Drum verschiebe ich das Thema dahin, wo es hingehört. @pseudoCguru: Ein aussagekräftigerer Betreff wäre gut gewesen, ich passe das mal an. Währenddessen kannst du dir ja mal dieses Thema ansehen.
-
Lotus Notes Ole Automation
Kannst ja mal hier reinschauen: http://www.experts-exchange.com/Applications/Email/Lotus_Notes/Q_10254326.html
-
CTime
SYSTEMTIME st; GetLocalTime( &st ); m_ctMonatBis = CTime( st );
-
Parallel-Port in Borland hinzufügen?!?
Es kommt nun mal vor, dass niemand eine Antwort auf deine Frage weiß. Daraus kannst du nicht auf Ignoranz gegenüber deinem Problem schließen. Oder hättest Du lieber dutzende Beiträge mit dem sinngemäßen Inhalt "Keine Ahnung"? Damit das aber nicht nochmal passiert, wäre es nett, wenn du die Lösung hier bekanntgibst.
-
Sprechblase in der Taskleiste
Dafür brauchst du eine aktuelle Version von ShellAPI.h, aus dem Plaform SDK, und mindestens Internet Explorer 5.
-
Probleme mit zellulärem Automat.
Nur bei C gilt: "Wenn nix da steht, nimm int." Also: const int bsize
-
Pointer auf COM Schnittstelle auf seine Gültigkeit überprüfen
Sicher. Das Problem hier war aber kein Nullzeiger, sondern eine vtable, der so gar nicht da war. An der Stelle der vtable von IAxWinAmbientDispatch, an der put_BackColor steht, ist die vtable von IUnknown (die ja nur drei Einträge hat) schon lange vorbei. Aber das, was da steht, wird als Funktionszeiger interpretiert und aufgerufen. Da ist eine Schutzverletzung nicht weiter verwunderlich.
-
Pointer auf COM Schnittstelle auf seine Gültigkeit überprüfen
Was für ein Interfacepointer ist pIFlashAmbient? Ich bin mir nicht sicher, ob du nicht bei AfxAxGetHost wirklich ein IUnknown** angeben musst, und dir dann den Zeiger auf das richtige Interface mit QueryInterface holen musst.
-
E-Mails versenden
Der Ansatz mit ShellExecute funktioniert mit jedem Programm, das sich als Windows-Standardmailhandler eintragen kann - Outlook, OE, Netscape usw. Leider kannst du dich, zumindest nach dem, was hier steht, nicht darauf verlassen, dass der Mailclient mehr als Subject und Body auswertet. Ein weiterer möglicher Nachteil ist, dass der Benutzer das Mailformular bestätigen muss. Und bei älteren Versionen von Outlook kann zuerst eine Messagebox aufgehen, die den Benutzer auffordert, ein Profil auszuwählen, falls Outlook gerade nicht läuft. Automatisch gesendet wird die Mail auch nur dann, wenn der Mailclient dementsprechend eingestellt ist. Mit Nummer 2 meinte ich eigentlich auch mehr so etwas wie MAPI. Damit kannst du Mails, auf Wunsch auch mit Attachment, gleich in den Postausgang stellen. Es kommt halt darauf an, ob du weißt, wie die Umgebung des Rechners aussieht, auf dem das Programm läuft. Wenn du weißt, was funktioniert und was nicht, kannst du dich festlegen. Wenn nicht, solltest du enventuell mehr als eine Möglichkeit einbauen.
-
E-Mails versenden
Nein. Wenn du selbst SMTP benutzt, also sozusagen einen eigenen SMTP-Client mitbringst, brauchst du weder Outlook noch einen anderen Mailclient. Wenn du das machst, verbindest du dich mit einem Mailserver im Internet und lädst die Mail direkt da ab. Das Problem dabei ist nur, dass es diverse Szenarien gibt, in denen das nicht funktioniert. So muss z.B. der Rechner, wenn er nur über einen Mailserver im LAN seine Mails verschickt, gar keinen vollwertigen Internetzugang haben. Möglich ist auch, dass eine Firewall SMTP gar nicht oder nur auf bestimmte Server zulässt. Es kann auch passieren, dass der empfangende SMTP-Server Mails aus dem Netzwerksegment des Rechners aufgrund von Blacklists nicht annimmt. Ob das alles klappt, hängt also von der Umgebung ab, in der das Programm eingesetzt werden soll.
-
starten eines Programms über Buttonclick auf Formular
Da würde ich entweder die Ausgabe in eine Datei umleiten, und die dann parsen, oder mal den ersten Treffer anschauen: http://www.google.com/search?sourceid=navclient&q=creating+child+process+redirected+output (Der Google-Link nur deswegen, weil der direkte MSDN-Link zu lang ist)
-
starten eines Programms über Buttonclick auf Formular
In welcher Form werden die Daten zurückgesendet? Als Rückgabewert von main oder als Ausgabe nach STDOUT oder ganz anders?
-
starten eines Programms über Buttonclick auf Formular
Jeder hat klein angefangen Zwei Dinge: Erstens weiß der C- bzw. C++-Standard nichts von Buttons, Formularen und Prozeßsteuerung (mit Ausnahme von system, aber das solltest du dafür nicht verwenden). Darum gehört deine Frage ins Forum C++: Compiler, IDEs, APIs, wohin ich sie jetzt auch verschiebe. Wenn du also noch andere Fragen hast, die Borland- oder windowsspezifisch sind, stell sie bitte gleich da rein, dann habe ich weniger Arbeit, und wir haben weniger von diesen häßlichen Verweispfeilen in der Forenübersicht. Zweitens solltest du das Forum mal nach ShellExecute durchsuchen. Das sollte die Lösung deines Problems sein.