Alle Beiträge von Klotzkopp
-
DWORD aus der registry lesen mit C++ Builder 6
Ist der Wert überhaupt ein DWORD? Was steht vor dem Aufruf in EncLaenge, was danach?
-
DWORD aus der registry lesen mit C++ Builder 6
Quelle: MSDN If the buffer specified by lpData parameter is not large enough to hold the data, the function returns ERROR_MORE_DATA and stores the required buffer size in the variable pointed to by lpcbData. In this case, the contents of the lpData buffer are undefined. Übrigens: ERROR_MORE_DATA ist 234. ;-)
-
Und wieder mal Mathe...
Mal abgesehen davon, dass auch x = -y sein könnte: Woher nimmst du das Gleichheitszeichen?
-
CList -> verwirrung!
Was speicherst du denn in der Liste, sprich: wie sieht der typedef aus? Kannst du ein Minimalbeispiel zeigen, das den Fehler reproduziert?
-
Und wieder mal Mathe...
Hmm, ich komme auf x hoch 2/3 - y hoch 2/3.
-
Und wieder mal Mathe...
Äh, da ist keine Gleichung, oder sehe ich das falsch? Wahrscheinlich geht es nur darum, den Term zu vereinfachen. 1/x ist x hoch -1, dritte Wurzel aus irgendwas ist irgendwas hoch 1/3. Dann muss man nur noch die Potenzgesetze anwenden.
-
Ole Db
propset.AddProperty(DBPROP_UPDATABILITY, (DWORD)0); [/Code]
-
Ole Db
Und was ist damit: propset.AddProperty(DBPROP_UPDATABILITY, 0); [/Code]
-
Ole Db
Ich würde die ganze Zeile auskommentieren.
-
Ole Db
Das ist DB_E_ERRORSOCCURRED. Ruf mal AtlTraceErrorRecords mit dem HRESULT auf, während das Programm im Debugger läuft. Das sollte eine Beschreibung des Fehlers ins Output-Fenster schreiben.
-
Netzwerk läuft nicht
Zunächst mal ist "läuft nicht" keine Fehlerbeschreibung. Wie genau äußert sich das? Was hast du versucht, um eine Netzwerkverbindung herzustellen? Wie sind die IP-Adressen und Subnetzmasken eingestellt?
-
DBTIMESTAMP in CString Formatiren
DBTIMESTAMP ts; CString str; str.Format("%02d%02d%04d", ts.day, ts.month, ts.year); [/CODE]
-
Ole Db
Ich kann mir das nur so erklären, dass dieser Code in einer Memberfunktion einer Klasse steht, die von CCommand abgeleitet ist. Ist das der Fall?
-
Ole Db
Mir fällt gerade auf: Die Feldinhalte sollten in den Membervaraiblen des Accessors stehen. Wenn OpenDB nicht gerade von deiner Accessorklasse abgeleitet ist (was nicht gut wäre), sollte da int k = opendb.cmd.m_ver; stehen.
-
Ole Db
Ja, das sieht gut aus. Sind in der Tabelle mehrere Felder? Falls ja, schreib bitte mal die tatsächlichen Feldnamen statt des * in das Select-Statement. Kann sein, dass die Reihenfolge in der COLUMN_MAP nicht auf die Reihenfolge der Felder passt, wie das Select sie liefert.
-
Ole Db
Hast du MoveNext aufgerufen?
-
C++ schulaufgabe
Es geht auch ohne if #include <iostream> int main() { for(int i=0; i<37; ++i) { std::cout << (i/9%2 ? 19-i%18 : i%18+1) << "\n"; } } [/CODE]
-
vector
1. Lass das mit dem typedef. Das brauchst du in C++ nicht. 2. Lass das mit allocator<test>. Das ist der Default-Allocator für vector. struct test { int i; }; vector<test> m_testvec; [/CODE] Wenn du diesen Vector jetzt in einer anderen Klasse benutzen willst, darfst du nicht eine identische Struktur deklarieren, denn selbst wenn die Strukturen gleich aufgebaut sind, sind es unterschiedliche Typen, und damit sind sie nicht ineinandert konvertierbar. Selbst wenn du sie konvertierbar machen würdest (z.B. durch entsprechende Konstruktoren), sind die Vektoren immer noch nicht konvertierbar. Das kannst du nur lösen, indem du [i]denselben[/i] Typ für die Struktur verwendest: [CODE] class Cklass2 { void Function(vector<CKlass1::test> vec); }; Dazu muss test in CKlass1 public sein (oder CKlass2::Function ein friend vom CKlass1),
-
Ole Db
Mach daraus mal: CCommand<CAccessor<CTabell> > cmd; hr = cmd.Open(session, "SELECT * FROM dbo.Tabell", &propset); [/code]
-
Ole Db
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.
-
Ole Db
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]
-
Ole Db
-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"
-
Ole Db
Welchen Wert hat denn hr?
-
Parameter übergeben
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 == ';')
-
Standartdrucker setzen oder auf bstimmten Drucker Drucken
http://forum.fachinformatiker.de/showthread.php?s=&threadid=58118 Ist gerade mal 5 Tage her...