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

Вниз

Адептам "одноэсины" ..   Найти похожие ветки 

 
Digitman ©   (2005-01-28 17:52) [0]

Отправная точка для восклицаний - платформа "1C:Предприятие", 21-й SQL-релиз ..

и какого же хрена переменная, объявленная в модуле формы  (а неважно какая - локальная для процедуры или глобальная для модуля формы), в ран-тайм в нек.момент времени принимающая значение равное ссылке на диспинтерфейс некоего сервера автоматизации, при "умирании" не обрабатывается долбаным 1С-интерпретером должным образом ?

надеюсь, для истинных "дельфистов" термин и механизм "умирания" олей-вариантной-переменной понятен от и до ..

для тех кто не "въехал" :
- объявите-ка ЛЮБУЮ переменную X в ЛЮБОМ модуле формы ЛЮБОЙ конфигурации,
- в ран-тайм по некоему произвольному условию обеспечьте передачу упр-я некоей процедуре, которая, скажем, выполнит строчку X = CreateObject("Excel.Application")
- пусть юзер после сего закроет И форму И следом же сеанс работы с клиентом 1С:Предприятие (по своей инициативе ! штатно !)

жмаем три веселых кнопки, и что видим ?
Ёхель как процесс эдак вееесело висит с списке процессов диспетчера задач.

повторим всю эту ботву N раз - увиди N Ёхелей в списке процессов

весело ?

мне  - очень даже.


 
Petr V. Abramov ©   (2005-01-28 17:55) [1]

Эх... В пятницный вечер - о грустном...
 Уж лучше про кур :)))))


 
старый маразматикЪ   (2005-01-28 17:59) [2]

а момент закрытия формы можно поймать, чтобы ручками икса убить?

зы.с 1ЦЭ не работал


 
Digitman ©   (2005-01-28 18:01) [3]

не..

о "веселом" хотелось бы услышать от потенциальных адептов 8-ки ..
хотелось бы уснуть спокойно, причмокивая впредвкушении нечто чего-то, гарантирующего ГРАМОТНУЮ АВТОдеиницилизацию олей-переменных в 8-шной платформе...
чел же жив надеждой, однако)


 
sniknik ©   (2005-01-28 18:01) [4]

> X = CreateObject("Excel.Application")
а там вроде надо X = 0 на выходе выполнять.


 
Digitman ©   (2005-01-28 18:03) [5]


> старый маразматикЪ   (28.01.05 17:59) [2]
> а момент закрытия формы можно поймать, чтобы ручками икса
> убить?
>
> зы.с 1ЦЭ не работал


"Боня, ты - тупой" (С) КВН

таки попробуй въехать в СУТЬ сабжа.
может еще и не все потеряно для тебя.


 
sniknik ©   (2005-01-28 18:04) [6]

(не "адепт", но наши одноэсовцы так делают)


 
Digitman ©   (2005-01-28 18:05) [7]


> sniknik ©   (28.01.05 18:01) [4]
> а там вроде


это ГДЕ Ж такое "вроде" в док-ции к этой одноэсной срани ФИГУРИРУЕТ ?

ткни меня носом, пож.   ...

а не ДЕБИЛЬНО ли сие решение разработчика ?


 
Digitman ©   (2005-01-28 18:08) [8]


> sniknik ©   (28.01.05 18:04) [6]
> (не "адепт", но наши одноэсовцы так делают)


правильно делают)
ибо они просекли ДЕБИЛЬНОСТЬ логики разработчика платформы .. адеваться некуда - нужно сидеть день и ночь и выискивать все места в коде модуля, где сч--к ссылок на интерф.объект должен быть обнулен)

бред !
бред собачий, скажу тебе !


 
Digitman ©   (2005-01-28 18:16) [9]

1С-модуль есть такой же объект как и все прочие модули.

как только все ссылки на этот объект перестают существовать (например, уничтожены все объекты-формы, код которых фигурирует в этом связанном модуле формы), объект-модуль должен "умереть"
перед "смертью" сей модуль ОБЯЗАН проверить на содержимое ВСЕ переменные уровня модуля (не "экстерн", разумеется), и если в хоть одной из них фигурирует интерф.ссылка, ее сч-к д.б. декрементирован в ОБЯЗАТЕЛЬНОМ порядке !


 
GRAND25 ©   (2005-01-28 18:17) [10]

1C must die!!!


 
Digitman ©   (2005-01-28 18:21) [11]

м.б., описал я все это чуть сумбурно, но факт есть факт)

в ран-тайм создай единожды в коде одноэсной конфы экз-р сервера автом-ции, закрой одноэсный сеанс БЕЗ явного уничтожения тобой в конфе ранее созданного тобой этого экз-ра -  и ты получишь геморрой в виде торчащего бесхозного экз-ра созхданного тобой сервера автом-ции.


 
марсианин ©   (2005-01-28 18:32) [12]

2Digitman ©

спокойно! спойкойно, все хорошо :)
кривость 1С - уже стала придчей в языцах. но работают же люди на ней. приспособились, выходит.. и даже деньги получают. и не малые.
кривость ПО - это еще самая страшная беда


 
Digitman ©   (2005-01-28 18:48) [13]


> марсианин ©   (28.01.05 18:32) [12]


давай уже без "спокойно" и прочих никчемных комментариев)
вероятно, я не оч конкретно изложил вопрос, но меня интересует опыт адептов одноэсины, столкнувшихся с этой байдой в 7-ке и от радости выпрыгивающих ноне из штанов при общении с 8-кой) ..

с удовлетворением приму аргументы адептов 8-ки в пользу того что я дурак и в 8-ке эта беда отсутствует ...


 
Verg ©   (2005-01-28 18:49) [14]


> БЕЗ явного уничтожения тобой в конфе ранее созданного тобой
> этого экз-ра -  и ты получишь геморрой в виде торчащего
> бесхозного экз-ра созхданного тобой сервера автом-ции.


Нихрена не понимаю в этих самых "автомотизациях", но если выйти из процедуры, ЯВНО вызвавшей Create, без ЯВНОГО Free, наблюдаться будет тоже ЯВНО бесхозный блок памяти.

И чему тут удивляться?

Механизм "пределов видимости" в этой автоматизации кто на себя берет?
Кто должен подчищать все что было создано при открытии "сеанса", но не освобожено при его закрытии? Кто отвечает за "сеанс" и ресурсы им потребленные?


 
Digitman ©   (2005-01-28 18:55) [15]


> Verg ©   (28.01.05 18:49) [14]


Андрей, а ты при программинге в Делфи шибко заботишься об ЯВНОМ освобождении интерф.объектов, ссылки на которые ты разместил в неких лок.переменных неких врем.процедур ? Или везде в своих процедурах лупишь одну и ту же мартышкину последовательность

var MyObj: ISomeObj; //лок.перем-я п/программы
..
MyObj := SomeClassInstCreate(..) as ISomeObj;
try
.. чего-то там ..
finally
 MyObj := nil;
end;


 
Digitman ©   (2005-01-28 18:58) [16]


> Механизм "пределов видимости" в этой автоматизации кто на
> себя берет?


у нас с тобой - Делфи-компилятор.
у разработчиков однеоэсины - одноэсный интерпретатор.

рискни повторить этот эксперимент в любом VBA-интерпретере от MS Office - получишь вполне корректный рез-т.

а в интерпреторе долбаной одноэсины ты тот же самый корректный рез-т при тех же в точности своих прогр.действиях фих получишь)


 
старый маразматикЪ   (2005-01-28 18:59) [17]


> Digitman ©   (28.01.05 18:03) [5]

а ты - грубиян. во. по мне хоть 1ЦЭ, хоть 8-ЦЭ - все равно. в дельфях-то я понимаю, как делать, на закрытии формы оле-объект типа ехел убиваю, а тута - хрен его знает, как этот зверь работает...

кстати, ежели таким макаром, как ты делаешь, в дельфях пользовать ехел, и ручками его не убивать, то он так и останется висеть в памяти при выходе из программы, по крайней мере в четверке. возражения есть?


 
Verg ©   (2005-01-28 19:05) [18]


> Digitman ©   (28.01.05 18:55) [15]


Ты эта, не злись, пожалуйста...

Я же сказал - мне вообще непонятны внеязоковые принципы освобождения объектов именно для интерф. объектов и тем самым отличающее их от объектов вообще данного языка, при выходе из контекста какого-то потока (кстати какго?) или из пределов видимости. Т.е. что естесственно для, например, C++, то я не очень понимаю как работает для Object Pascal.

и почему "мартышкину"? Я пишу Free, а не ":=nil", раз уж был ***Create***... Какой же :=nil, раз был Create (new)- на каждый Create надо ответить именно Free (dispose, destroy)..

Нелогично?


 
wicked ©   (2005-01-28 19:10) [19]

(скорее оффтопик, чем по теме)
эта... смарт-поинтеры рулят... :)

ЗЫ а если кому интересно, можно развить смарт-поинтеры (и гарбадж-коллекторы) в интересную тему... это уже вполне серьезно...


 
GRAND25 ©   (2005-01-30 01:06) [20]

Наивно ожидать чего-то хорошего от конструктора "Лего"...

Если 1С считать языком программирования или же платформой для разработки и предъявлять к ней требования как к нормальному языку или платформе, то сабжевое непотребство никакой критики тогда не выдержит. Будем проще и снисходительнее: на своей ступени 1С-ина рулит однозначно! Но хотеть от нее, чтобы она аки Делфи работала корректно в "тонких" случаях, не стоит. Нервы дороже...



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

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

Наверх




Память: 0.53 MB
Время: 0.026 c
14-1107178827
Fonda
2005-01-31 16:40
2005.02.20
Сортировка в Excel


3-1106375511
forum_user
2005-01-22 09:31
2005.02.20
Поиск поля в БД Access


14-1107117370
rjkz
2005-01-30 23:36
2005.02.20
Помогите найти компонент


3-1106311445
Бульбаш
2005-01-21 15:44
2005.02.20
При использованиии кэширования очищается ли кэш


14-1107120927
Alexander Panov
2005-01-31 00:35
2005.02.20
"Белая гвардия"