![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Недоступно значение переменной!.... [D6, WinXP]
ANikolay © (2007-03-16 07:09:00)Пишет Inaccessible value, когда в отладке навожу мышку на переменную в методе определенного класса.... переменнная объявлена в private этого же класса!.... при выполнении строки с использованием этой переменной, программа вылетает и пишет Разрушительный сбой!.... Почему?..
type
TDMPaymCartel = class(TDataModule)
private
sLastError: string; // <----- Эта переменная
public
function AddCartelPayment(Amount : currency; tel : string; var id_tran, cartel_receipt : WideString) : integer;
end;
function TDMPaymCartel.AddCartelPayment(Amount: currency;
tel: string; var id_tran, cartel_receipt : WideString) : integer;
begin
sLastError := ''; // <--- Здесь недоступна!!!!
...
END;
Например, переменная sLastError в методе AddCartelPayment Н-Е-Д-О-С-Т-У-П-Н-А!
Если как-то поможет: класс объявлен в модуле OLE-объекта
Аноним (2007-03-16 18:25:00) [1]как вариант, не создан объект. Ну и оптимизацию в дебаг-сборках лучше отключать.
Встань брекпоинтом на строке sLastError := '';
и посмотри через Alt+F7, чему равен Self
ЮЮ (2007-03-16 08:33:00) [2]>Пишет Inaccessible value
Из-за включенной оптимизации и "неоптимального" исходного кода.
ИМХО. Лучше значения не под мышью смотреть, а в окне Watch, там можно включить галку "Allow function Calls" и получить значительно больше, чем в Hint-e
>Почему?..
Вызван метод несозданного объекта