Alle Beiträge von Klotzkopp
-
"is not a valid date" ???
Habe ich Tomaten auf den Augen, oder werden s1 und s2 gar nicht mehr verwendet? Oder fehlt da ein wichtiges Stück Code?
-
CListCtrl
NULL dürfte das Problem sein. Der lParam der NM_DBLCLK-Nachricht muss die Adresse einer NMHDR-Struktur enhalten. Ab Version 4.71 der Comctl32.dll wird als lParam offenbar sogar die Adresse einer NMITEMACTIVATE-Struktur erwartet. Nach dem, was ich gefunden habe, müssen iItem, iSubItem und ptAction mit gültigen Daten gefüllt sein.
-
CListCtrl
ModifyStyle( LVS_SINGLESEL, 0 );
-
Beispiel aus "C++ in 21 Tagen" läuft nicht
Ich könnte mir vorstellen, dass es einen Namenskonflikt mit einer bestehenden Rectangle-Methode gibt. Das würde die Fehlermeldung erklären. Nenn die Klasse mal anders, z.B. CRectangle.
-
CComboBox
Mit dem Resourcen-Editor kann man die Höhe einstellen, indem man vorher auf die Aufklapp-Schaltfläche klickt.
-
CComboBox
Was ist mit MoveWindow? Ich kann mich dunkel erinnern, dass es damit ging...
-
Wie bekomme ich das zum laufen?
Es wäre wirklich gut, wenn Du uns sagst, was genau Du versucht hast, um das Programm zum Laufen zu bringen. Ansonsten ist es ziemlich schwierig, mögliche Fehler einzugrenzen. Und auch wenn Du nichts mit den Fehlermeldungen anfangen kannst, andere Benutzer können es möglicherweise, also wäre es hilfreich, wenn Du die auch mit angibst. Bei mir läuft das Programm übrigens problemlos (MSVC 6 SP 5, Win XP Home).
-
Suchen ersetzen in Dateien
Was ist denn mit den Tipps, die Du hier bekommen hast? Das ist ja ein recht ähnliches Problem... Aber zum Thema: Du kannst die Klasse CStdioFile verwenden, um die Datei zeilenweise in CStrings einzulesen. CString bietet eine komfortable Replace-Methode. Falls sich beim Ersetzen die Länge einer Zeile ändert (d.h. wenn "variable" in Deinem Fall länger als ein Zeichen ist), dann kannst Du den geänderten Inhalt nicht in dieselbe Datei zurückschreiben. Du musst dann den gesamten (geänderten) Inhalt in eine neue Datei packen, anschließend die alte Datei löschen und die neue umbenennen.
-
Bei Office Dateien den AAutor verändern.
Das Dokument öffnen, Datei->Eigenschaften.
-
(string == string) != (borland == msvc)?
Das kannst Du so nicht vergleichen. Vergleichsoperator ist nicht gleich Vergleichsoperator, weil sich bei vielen Klassen dahinter sehr komplexe Funktionen verbergen können. Was hast Du denn da verglichen?
-
Projekte
Bitte verrat uns doch die Fehlermeldung Wenn die Include-Datei und die Datei, in der das #include steht, nicht im selben Verzeichnis sind, kann der Präprozessor sie nicht finden. Dann muss man entweder in den Projekteinstellungen die Include-Pfade ändern, oder eben einfach beim #include einen Pfad angeben. Beispiel: #include "C:/Source/AddressBook/AddressBookDlg.h"
-
Verzeichnisauswahl
Durchsuch mal das Board nach SHBrowseForFolder, das hatten wir schon ein paar mal
-
Zufallsgenerator in C
srand dient zur Initialisierung des Pseudozufallszahlengenerators. Üblicherweise nimmt man time(0) als Argument. Ansonsten macht srand nichts (ist ja auch void). frand liefert eine Zufallszahl als double, die >= 0.0 und < 1.0 ist. Siehe auch: http://plan9.escet.urjc.es/magic/man2html/2/rand
-
Projekte
Ein #include "AddressBookDlg.h" ist auch notwendig, eventuell mit angepasstem Pfad.
-
Parameterübergabe
@nic_power: Leider kommt man bei MFC-Anwendungen nicht an den main-Code ran. @Marsellus Wallace: In der InitInstance-Funktion deiner WinApp-Klasse wird ParseCommandLine aufgerufen. Das dabei verwendete CCommandLineInfo-Objekt speichert die Kommandozeileninformation. Mit cmdInfo.m_strFileName kommst Du an den ersten Parameter, der nicht mit einem / oder - beginnt.
-
Visual Studio .net
Du brauchst das .NET Compact Framework und die Smart Device Extensions, die es momentan AFAIK nur als Beta gibt. .NET Compact Framework FAQ CF & Smart Device Extension Beta
-
Library einbinden
Dass dumpbin nichts anzeigt, ist seltsam. Um was für eine Lib handelt es sich denn?
-
Library einbinden
Nein, das bedeutet, dass die Funktion irgendwo referenziert (also aufgerufen) wird, aber der Linker in keiner der Objektdateien die Funktion gefunden hat, eben weil die .lib nicht mit gelinkt wurde. Bei MSVC gibt es zwei Möglichkeiten, dies zu tun: 1. (Englische Version) Project->Settings->Register "Link": Unter "Object/library modules" die lib eintragen (evtl. mit Pfad, wenn sie nicht in einem Standardpfad liegt). 2. In einer Quellcodedatei: #pragma comment( lib, "dateiname.lib" )
-
windows xp - formatierung )sorry brauche ne schnelle antwort, deshalb hier der post )
Und wenn Du nach weiteren acht Minuten keine Antwort bekommen hast, machst Du noch einen Beitrag auf, ohne Rücksicht darauf, ob er ins jeweilige Forum passt? Schau Dir bitte mal die Boardregeln an, danke.
-
UTF-8 Konverterfunktion
Bitte sehr: wchar_t widechar = MAKEWORD(252,10); char pResult[4]; memset( pResult, 0, 4 ); WideCharToMultiByte(CP_UTF8, 0, &widechar, 1, pResult, 3, NULL, 0);
-
UTF-8 Konverterfunktion
Manche UTF-8-Zeichen sind bis zu drei Bytes groß. Ist das ein ü, das Du konvertieren willst? Ich bekomme da als Ergebnis 224, 171, 188.
-
UTF-8 Konverterfunktion
Der vierte Parameter gibt die Anzahl der Zeichen an, nicht der Bytes. Da müsste also eine 1 rein. Der vorletzte Parameter muss bei CP_UTF8 Null sein. Außerdem werden als dritter und fünfter Parameter nicht die Zeichen selbst, sondern deren Adressen erwartet. Ich weiß aber nicht, wie das von VB aus funktioniert.
-
Struktur in Struktur
Ich habe in Deinem Code keine Stelle gefunden, an der local_var mit Null initialisiert wird. Innerhalb von add_variable wäre es angebracht.
-
Struktur in Struktur
Ist das jetzt wieder eine "umgestellte" Version? Wenn nicht, dann hast Du keinen Speicher für das Nullzeichen geholt. Wenn doch, dann gib uns besser den wirklichen Code. Ich denke, das erleichtert die Fehlersuche doch erheblich
-
Struktur in Struktur
Ich denke, das Problem liegt hier. Du weist dem char* ptr->name einen AnsiString zu. Das funktioniert vermutlich, weil diese Klasse einen cast-operator für diesen Typ hat. Das Problem ist, dass der AnsiString am Ende der Funktion zerstört wird, und ptr->name damit auf freigegebenen Speicher zeigt. Entweder muss die Struktur local_test_struct einen AnsiString statt eines char* enthalten, oder Du holst explizit Speicher für ptr->name in der entsprechenden Größe.