Cześć,
na sam początek chciałem się przywitać, to mój pierwszy post na tym forum :D
Mam następujący problem.
string ****comb_table_rd;
comb_table_rd=new string ***[comb_table_length];
for (int i=0;i<comb_table_length;i++)
{
comb_table_rd[i]=new string **[l1];
for (int j=0;j<l1;j++)
{
comb_table_rd[i][j]=new string *[l2];
for (int k=0; k < l2; k++) {
comb_table_rd[i][j][k]=new string[2];
}
}
}
string tmp, tmp2;
int licznik = 1;
string * field_idi = new string [l2];
for(int b=0; b<comb_table_length; b++){
for(int i=0; i<l1; i++)
{
field_idi = field_ids[i];
for(int j=0; j<l2; j++)
{
string field_id = field_idi[j];
tmp = comb_table[b];
tmp2 = d3d2;
for(int k=0; k<n; k++)
{
int ppos = strpos_char(comb_table[b], d2[k], 0);
char d3char = (char)(((int)'0')+d3);
if(ppos != -1 && field_id[k] == d3char)
{
tmp[ppos] = toupper(tmp[ppos]);
tmp2[ppos]=d3char;
}
}
string array[2] = {tmp, tmp2};
comb_table_rd[b][i][j]=array;
if (comb_table_rd[b][i][j][0]!="") {
Form1->StringGrid3->Cells[0][0]="b";
Form1->StringGrid3->Cells[0][licznik]=b;
Form1->StringGrid3->Cells[1][0]="i";
Form1->StringGrid3->Cells[1][licznik]=i;
Form1->StringGrid3->Cells[2][0]="j";
Form1->StringGrid3->Cells[2][licznik]=j;
Form1->StringGrid3->Cells[3][0]="comb_table_rd[b][i][j][0]";
Form1->StringGrid3->Cells[3][licznik]=comb_table_rd[b][i][j][0].c_str();
licznik++;
}
}
}
}
licznik = 0;
for (int b = 0; b < comb_table_length; b++) {
for (int i = 0; i < l1; i++) {
for (int j = 0; j < l2; j++) {
Form1->StringGrid2->Cells[0][0]="b";
Form1->StringGrid2->Cells[0][licznik]=b;
Form1->StringGrid2->Cells[1][0]="i";
Form1->StringGrid2->Cells[1][licznik]=i;
Form1->StringGrid2->Cells[2][0]="j";
Form1->StringGrid2->Cells[2][licznik]=j;
Form1->StringGrid2->Cells[3][0]="comb_table_rd[b][i][j][0]";
if (comb_table_rd[b][i][j][0]!="") {
Form1->StringGrid2->Cells[3][licznik]=comb_table_rd[b][i][j][0].c_str();
} else {
Form1->StringGrid2->Cells[3][licznik]="pusto";
}
licznik++;
}
}
}
Problem polega na tym, że w pierwszej pętli, w trakcie uzupełniania tablicy, wszystko działa, a tablica poprawnie się wyświetla. Natomiast kiedy program wyjdzie z tej pętli, i próbuję ponownie wyświetlić zawartość tablicy, okazuje się, że wszystkie komórki są puste. Nie mam pojęcia, dlaczego tak się dzieje. Może ktoś z Was jest w stanie pomóc? W poście załączam screen z działania programu, na którym widać tablice wyświetlona w trakcie działania pętli i po jej zakończeniu.