dog |
Отправлено: 14.12.2006, 10:52 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
На форме есть button если нажимать на него мышкой процедура выполняется правильно, но если передать этой кнопке фокус и нажать enter то выдается сообщение
Project test.exe raised exception class EAccessViolation with message 'Access violation at address 400CC0C3 in module 'vcl60.bpl''.
Write of address 0000000D. Process stopped. Use Step or Run to continue. и выполнение прекращается, с чем это связанно? |
|
Romikgy |
Отправлено: 14.12.2006, 11:14 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
имхо , здесь телепатов не встречал
Код показывай! |
|
dog |
Отправлено: 14.12.2006, 11:21 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
для button
void __fastcall TForm1::btnSaleClick(TObject *Sender)
{
PropertySet password("Password");
PropertySet price("Price");
PropertySet quantity("Quantity");
PropertySet store("Department");
PropertySet tax1("Tax1");
PropertySet tax2("Tax2");
PropertySet tax3("Tax3");
PropertySet tax4("Tax4");
PropertySet string("StringForPrinting");
password << edPassword->Text;
price << edPrice->Text;
quantity << edQuantity->Text;
store << edStore->Text;
tax1 << cbTax1->ItemIndex;
tax2 << cbTax2->ItemIndex;
tax3 << cbTax3->ItemIndex;
string << edString->Text;
ECR.Exec(password);
ECR.Exec(price);
ECR.Exec(quantity);
ECR.Exec(store);
ECR.Exec(tax1);
ECR.Exec(tax2);
ECR.Exec(tax3);
ECR.Exec(string);
ECR.Exec(sale);
Variant res = ECR.Exec(error);
Variant resDesc = ECR.Exec(errorDesc);
edError->Text = IntToStr(int(res)) + ": " + resDesc;
edOperatorNumber->Text = ECR.Exec(operatornum);
} |
|
olegenty |
Отправлено: 14.12.2006, 13:36 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
на какой строке при отладке возникает ошибка?
|
|
Romikgy |
Отправлено: 14.12.2006, 14:46 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
Что есть
PropertySet
ECR
?
и страное преобразование
edError->Text = IntToStr(int(res)) + ": " + resDesc;
вариант в строку без конвертирование? |
|
dog |
Отправлено: 14.12.2006, 15:08 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
если выполнять каждую строку пошагово то по завершению процедуры в случае когда кнопка нажата кликом мышки все нормально, а в случая когда на кнопке фокус и нажат enter процедура выполняется до последней } и выдает ошибку.
Причем во время выполнения программы в компиляторе появляется сообщение
[C++ Предупреждение] main.cpp(4): W8058 Cannot create pre-compiled header: write failed |
|
dog |
Отправлено: 14.12.2006, 15:35 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
Я использую драйвер принтера перем. ECR экспорт-глобальная переменная для работы с драйвером т.е.
ECR.Exec(password); вызов метода драйвера
|
|
Romikgy |
Отправлено: 14.12.2006, 16:25 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
такое ощущение что у тя что то лежит в обработчике кнопок клавиатуры, и там есть глюка в коде!
(имхо что то с указателем) |
|
olegenty |
Отправлено: 14.12.2006, 16:39 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
call stack?
|
|