Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.02;
Скачать: CL | DM;

Вниз

существование экземпляра класса   Найти похожие ветки 

 
VictorS   (2002-04-19 02:12) [0]

как определить, существует ли экземпляр (обьект) класса.
Например var SM:TStringStream;
.......................................
//перед следующей строчкой надо определить, существует ли
// SM
ind:=SM.Size;
проверка на nil не помогает, обьект не определен - фатальная ошибка.
В частности, после передачи под надзор сокета
Socket.SendStream(SM) после передачи SM освобождается.
Ну и не могу определить, уже освободился, или нет.
Надо в цикле опять передавать новую порцию данных, а если еще
старая передается - SM портится. Пытаюсь контролировать его размер - выпадаю из цикла с ошибкой. Помогите советом, пожалуйста. Или есть другие приемы проталкивания больших порций
данных? Подскажите. К сожалению в TServerSocket нет свойства
BytesSend или чего - то похожего.
Большое программерское спасибо!


 
ghost_by ©   (2002-04-19 07:34) [1]

if Assigned(SM) then begin
end else begin
end;


Попробуй так, незнаю поможет ли.


 
Alx2 ©   (2002-04-19 07:46) [2]

Вот так попробуй объявить:
var SM:TStringStream = Nil;
А при уничтожении использовать FreeAndNil.
Тогда проверка на Nil (то же самое что assigned) должна отрабатываться.
Либо попробуй сделать наследника для TStringStream с переопределенным деструктором. Из него и будет ясно убился он или нет (выставлением глобального флага, например).

Но IMHO, подобные задачи - следствие чего-то недодуманного.



Страницы: 1 вся ветка

Текущий архив: 2002.05.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
3-2475
Stif
2002-04-11 10:44
2002.05.02
Быстрый подсчёт суммы чисел столбца. Есть 2 кода, медл. и быстрый


1-2609
Orvat
2002-04-20 08:39
2002.05.02
Форма в библиотеке


1-2516
anacronix
2002-04-20 18:23
2002.05.02
Ввод текста в Edit1 в любом регистре


3-2470
Helen
2002-04-10 16:25
2002.05.02
Преобразование типа Byte к вещественному Double...


1-2539
ymin
2002-04-18 17:10
2002.05.02
form1.print