[Borland Builder C++] StringGrid // problem

0

Witam, mam problem z komponentem StringGrid w Borland Builder C++. W pliku Unit1.h mam zdeklarowany wskaźnik do tablicy. W programie przypisuje mu pamięć i poszczególnym elementom tablicy odpowiednie wartości. Gdy próbuje użyć tej tablicy ponownie w funkcji StringGrid1DrawCell wyrzuca błąd. Po dodaniu do listy argumentów wskaźnika do tej funkcji kompilacja przechodzi bez problemów. Program działa bez problemów jednak tablicy nie widzi. O co może chodzić? Proszę o jakaś rade

0

Bo po co kod wkleić, niech się domyślają.

0
Oleksy_Adam napisał(a)

Bo po co kod wkleić, niech się domyślają.

Mam ci cały program wkleić??

Tak po krótrce: plik Unit1.h

int *kolor1, *kolor2, kolor3;
int znajdz1, znajdz2, znajdz3;

Unit1.cpp

void __fastcall TForm1::Otwrz1Click(TObject *Sender)
{
int *kolor1 = new int[znajdz1];
}

void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
ShowMessage(kolor[0]); // tutaj bład
}

0

W funkcji

void __fastcall TForm1::Otwrz1Click(TObject *Sender)
{
int *kolor1 = new int[znajdz1];
}

definiujesz nową tablicę, a nie przydzielasz pamięc do tej zdefiniowanej w Unit1.h. Problem rozwiazac mozesz tak:

void __fastcall TForm1::Otwrz1Click(TObject *Sender)
{
this->kolor1 = new int[znajdz1];
}

0

@bisclavret
Dzięki, prosty błąd którego nie zauważyłem. Teraz jest już chyba ok. Thx

1 użytkowników online, w tym zalogowanych: 0, gości: 1