INFO: TriBase-Engine wird initialisiert... (tribase.cpp, Zeile 86, Funktion tbInit)
FEHLER: COM-Initialisierung fehlgeschlagen! (tribase.cpp, Zeile 92, Funktion tbInit)
INFO: Alle Speicherbereiche freigegeben! (tbmemory.cpp, Zeile 116, Funktion tbMemExit)
INFO: TriBase-Engine wird heruntergefahren... (tribase.cpp, Zeile 113, Funktion tbExit)
Eine Ausnahme (erste Chance) bei 0x100aabc6 in Aufgabe1.1.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x00000000.
'Aufgabe1.1.exe': 'c:\windows\assembly\gac\mscorlib.resources\1.0.5000.0_de_b77a5c561934e089\mscorlib.resources.dll' geladen, keine Symbole geladen.
Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' ist in Aufgabe1.1.exe aufgetreten.
EDIT:
Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
das kommt neuerdings auch noch und dder TriBase INIT fehler kommt dafür nicht mehr... ohne das ich etwas gemacht habe...
EDIT2:
'System.NullReferenceException' bedeutet, dass ein Objekt auf das du
zugreiftst = Nothing ist.
das habe ich dazu gefunden, okay da weiß ich soviel wie vorher
EDIT3:
Also nach paar mal suchen bin mal drauf gekommen , das rauszunehmen wo der Fehler sein könnte, als ich tbExit entnahm kam der Fehler das sie halt nicht aufgerufen wurde, also wieder rein und dann habe ich tbMemExit(); entnommen nun gehts, also muss diese Funktion auf etwas leeres zeigen oder will was leeres löschen naja... (richtig ausgedrückt?)
Lustig, sitze schon 2 Tage an Aufgabe 1.1
Aufgabe 1.2 so gelöst:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
int main() {
if (tbInit()) {
tbWriteToLog("Error Init");
}else {
tbWriteToLog("Init Okay");
int size_int_1000 = sizeof(int) * 1000; // Speichergröße 4 Bytes * 1000 int
tbWriteToLog("1000 Int's Size: %d Bytes", size_int_1000);
void* pData_a = tbMemAlloc(size_int_1000);
void* pData_b = tbMemAlloc(size_int_1000);
void* pBuffer = tbMemAlloc(size_int_1000); // Ist das ein Puffer?
if (!pData_a) tbWriteToLog("Error pData_a"); else tbWriteToLog("pData_a Okay");
if (!pData_b) tbWriteToLog("Error pData_b"); else tbWriteToLog("pData_b Okay");
if (!pBuffer) tbWriteToLog("Error pBuffer");
int aiData[999];
int i = 0;
while (i != 1000) {
aiData[i] = tbIntRandom(0,100);
i++;
}
pData_a = aiData;
i = 0;
while (i != 1000) {
aiData[i] = tbIntRandom(0,100);
i++;
}
pData_b = aiData;
pBuffer = pData_a;
pData_a = pData_b;
pData_b = pBuffer;
}
tbWriteToLog("Speicher freigegeben");
tbExit();
return 0;
}
|
Ich versteh nicht wie das mit dem Puffer gemeint ist??