Fehlermeldung
-
das war nicht der fehler, denn der Fehlercode kommt immer noch
-
was hast du denn jetzt geändert?
-
void readlist()
{
//Variablen festlegen
CSDBase *pSDBase = NULL;
CSDBStreamExp *pExp = NULL;CString filename;
//BasisChannel bestimmen
CString strBasisChannel;//Pointer
void *pdVal;
void *pBasisChn = NULL;
void *pdBasisValue = NULL;
void *pdValues = NULL;CSDBStreamDataSet *pVal;
double dAnzahlStuetzstellen=pVal->GetNumberOfEntries();//BasisChannel bestimmen
CSDBStreamRun *pRun = pSDBase->OpenStreamRun(pExp->GetTableName());
CSDBStreamAnalysis *pAna = pSDBase->OpenStreamAnalysis(pRun->GetTableName());
strBasisChannel = pAna->GetBaseChannelName();//auslesen der Daten in einem Block, mit einmal alle
pSDBase->ReadDataSetBlock((void*)pdValues,pVal,STREAM_BLOCK_REDUCE,dAnzahlStuetzstellen);cout<<pSDBase;
CloseSimplorerDataBase(pSDBase);
}kannst du mir vielleicht sagen wie ich es sonst ändern soll!Das Programm soll aus einer *.sdb-Datei auslesen, diese ist ähnlich wie eine Excel-Tabelle aufgebaut!!!
Danke
-
Les mal ein Tutorial über Zeiger. Du verwendest die ganze Zeit nicht- oder mit NULL initialisierte Zeiger!!!!
-
CSDBase *pSDBase = NULL;
void *pdValues = NULL;
CSDBStreamExp *pExp = NULL;pSDBase = OpenSimplorerDataBaseRO(filename);
pExp = pSDBase->OpenStreamExp();CSDBStreamRun *pRun = pSDBase->OpenStreamRun(pExp->GetTableName());
CSDBStreamAnalysis *pAna = pSDBase->OpenStreamAnalysis(pRun->GetTableName());
// channel oeffnen
CSDBStreamChannel *pChnLeft = pSDBase->OpenStreamChannel( pAna->GetTableName());
CSDBStreamDataSet *pVal = pSDBase->OpenStreamDataSet(pChnLeft->GetTableName(),pChnLeft->GetDataType(),pChnLeft->CalcChannelValSize());double dAnzahlStuetzstellen=pVal->GetNumberOfEntries();
//auslesen der Daten in einem Block, mit einmal alle
pSDBase->ReadDataSetBlock((void*)pdValues,pVal,STREAM_BLOCK_REDUCE,dAnzahlStuetzstellen);cout<<pSDBase;
Kommt immernoch ein Speicherfehler!!!!

-
Bist du sicher, dass es an diesem Code liegt?
-
ja, weil ich ja nur den Code derzeit durchlaufen lasse
-
dann versuch mal die Zeile rauszufinden, in der er abstürzt.
-
Es kann sein, dass eine der Funktionen einen Nullzeiger zurückgibt, weil etwas schiefgegangen ist. Es wäre auch möglich, dass ReadDataSetBlock versucht, in den Speicher zu schreiben, auf den pdValues zeigt.
-
danke für eure Hilfe
-
Original erstellt von sonnenschein1984:
danke für eure HilfeHeisst das, dass es funktioniert?
