R
Hi,
ich habe ein Problem mit einem Zeiger auf ein zweidimensionales Feld.
Ich habe 2 verschiedene Klassen. In der ersten Klasse habe ich ein CStringArray:
CStringArray m_saExcelAktualisierung1[_defAnzAktualisierungswerte];
und lese es dort ein
...
int i = 0, j = 0, k = 0,Array_Index = 0;
BOOL weiterlesen = false;
if ( fExcelDef.Open(File, CFile::modeRead ) )
{
...
while ( weiterlesen )
{
weiterlesen = fExcelDef.ReadString(Schluessel);
m_saExcelAktualisierung1[_defName].InsertAt(i,Schluessel);
weiterlesen = fExcelDef.ReadString(Schluessel);
gService.m_saExcelAktualisierung1[_defOrtExcelDatei].InsertAt(i,Schluessel);
weiterlesen = fExcelDef.ReadString(Schluessel);
gService.m_saExcelAktualisierung1[_defTabelle].InsertAt(i,Schluessel);
usw...
}
}
Jetzt möchte ich nach der Größe des Arrays Threads starten lassen
int array_size = m_saExcelAktualisierung1[_defName].GetSize();
for (i=0;i<array_size;i++)
{
CThread *Thread;
Thread = new CThread;
Thread->InitInstance(i, &gService.m_saExcelAktualisierung1);
Thread->StartThread();
}
nur weiß ich nicht genau, wie ich das Array übergeben muss, damit Änderungen, die in einem Thread vorgenommen werden, auch wirksam werden.
Hier ist mal die InitInstance der Thread Klasse
BOOL CThread::InitInstance(int ArrayNr, CStringArray* pArray)
{
m_pExcelDefArray = pArray;
m_iArrayNr = ArrayNr;
return TRUE;
}
Blicke langsam nicht mehr durch.