Форум: "Потрепаться";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
ВнизАдептам "одноэсины" .. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.041 c