нужна помощь с отладкой проги

  • Автор темы Leon
  • Дата начала
L

Leon

Гость
#1
Ситуация такова:
Мне в наследство перешла прога которую я должен немного дописать, но в процессе возникли проблемы такие как неудачные попытки рисовать на канвасе и обращение к адресу.
Код добавить сюда не могу. Но могу кинуть в личку.
Программа предназначена для сбора инфы(работает/нет) по сети о работающих компьютерах.
 
L

Leon

Гость
#3
1) Программа у меня мрогопоточная и приходится (так мне дали) рисовать форму из разных потоков.
Видимо по этому у меня выскакивает исключение "canvas does not allow drawing" как справится с этой ошибкой? (пытался найти какуюто инфу насчет семафоров или мутексов но ничего понятного не попалось :newconfus: )

Добавлено: Вот код той функции которая и вызывает исключение.
Код:
DWORD WINAPI ThreadProc(LPVOID lpParam)
{
Form1->ToolButton9->Enabled = False;
flagM = false;
int i = 0;
Form1->TreeView1->Items->Clear();
TTreeNode *Node2;
String s = "";
frmConfig->clbxComps->Items->Clear();
std::list<String>::iterator const& it = Form1->nameList.begin();
while(i < Form1->nameList.size())
{
try
{
s = *it;
Form1->ICMP->Host = s;
name = Form1->ipMap[s];
frmConfig->clbxComps->Items->Add(Form1->ipMap[s]);
Form1->ICMP->Ping();
}
catch (Exception &exception)
{
Node2 = Form1->TreeView1->Items->Add(NULL, Form1->ipMap[s] + " " + Time());
Node2->ImageIndex = 1;
Node2->SelectedIndex = 1;
Node2->Selected = true;
}
it._M_incr();
i++;
}
Form1->ToolButton9->Enabled = True;
flagM = true;
TerminateThread(hThread, 0);
return 0;
}
а точнее строки типа
Код:
Form1->…
 
04.09.2006
2 566
2
Минск
#4
В примерах к Builder-у идет проект BubbleSort (если я правильно помню), который показывает как управлять рисованием на форме из другого потока