Текущий архив: 2003.09.29;
Скачать: CL | DM;
Вниз
NIL из Create Найти похожие ветки
← →
Lanbo (2003-09-16 14:10) [0]Возможно ли принудительно в Create объекта установить возвращяемое значение в nil, если в конструкторе произошли какие-либо исключения, например... Пробую на конструкторе потока, вылетает Access Violation... в чем дело?
← →
clickmaker (2003-09-16 14:12) [1]А на фига?
← →
Polevi (2003-09-16 14:13) [2]какого потока ?
делай raise в конструкторе
← →
Lanbo (2003-09-16 14:13) [3]и вдогонку, забыл совсем...
Если конструктор объекта выполнил inherited, но не отработал до конца (в слечае искл. ситуации), отработает exucute, destructor или вообще ничего?
← →
Lanbo (2003-09-16 14:16) [4]fThread = TMyThread.Create(параметры мои);
Вот если объект не создался, то возвращаемое значение не всегда nil. if Assigned(fThread) также не работает по причине того, что ответ не нулевой.
← →
Polevi (2003-09-16 14:19) [5]при exception в кострукторе вызовется деструктор
try
Thread = TMyThread.Create(параметры мои);
except
ShowMessage("Ошибка создания объекта TMyThread");
end;
← →
Lanbo (2003-09-16 14:26) [6]Что будет в этом случае:
TMyThread.Create(парамз);
begin
...........
try
тут происходит exception
except
Self.Free //? нужно или нет? или диструктор отработает автоматом?
end;
............
end;
← →
Lanbo (2003-09-16 14:28) [7]и вдогонку к пред. примеру:
Значение из Create вернется после отработки деструктора или после выхода из Create?
← →
Polevi (2003-09-16 14:41) [8]F7
← →
Юрий Федоров (2003-09-16 21:50) [9]Если в конструкторе произошло исключение, автоматически вызовется деструктор, память будет освобождена, а значения, возвращаемого конструктором ты просто не получишь.
[6] Не нужно, вообще try except не нужен
Страницы: 1 вся ветка
Текущий архив: 2003.09.29;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.009 c