powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Воскресно-вечернее торможение
44 сообщений из 44, показаны все 2 страниц
Воскресно-вечернее торможение
    #39878901
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я заработался...
Код: pascal
1.
2.
3.
4.
5.
6.
7.
procedure ***.KOnApplicationException(Sender: TObject; E: Exception);
...
begin
  ShowMessageFmt('E is %s %s'#10
    + 'E.ClassNameIs(''EFIBInterBaseError'') = %s',
    [iifStr(E is EFIBInterBaseError, '', 'NOT'), EFIBInterBaseError.ClassName,
    iifStr(E.ClassNameIs('EFIBInterBaseError'), 'Yes', 'No')]);



Вывод: см. картинку.

Отчего так? В D7 вроде и "E is EFIBInterBaseError" давало True...
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39878908
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ёёёёё,
Для начала я бы вывел фактический E.ClassName. А тут кода много , а этого нет
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39878914
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2ёёёёё,
Для начала я бы вывел фактический E.ClassName. А тут кода много , а этого нет

ОК:
Код: pascal
1.
  ShowMessageFmt('EFIBInterBaseError.ClassName=''%s''', [EFIBInterBaseError.ClassName]);
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39878919
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё,

ой, совсем старый и плохой...

Вот:

Код: pascal
1.
  ShowMessageFmt('EFIBInterBaseError.ClassName=''%s''', [E.ClassName]);
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39878921
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, почти правильно. Сойдет.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39878927
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39878951
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёОтчего так?
Криво собранные DLL-ки либо другая причина, по которой в приложении наблюдается несколько разных EFIBInterBaseError.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39878971
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо просто прямо спросить, - исследуемый объект не из DLL- ки ли пришел? А то, насколько помню, в этом случае всегда были штатные проблемы с as и is.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39878973
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerёёёёёОтчего так?
Криво собранные DLL-ки либо другая причина, по которой в приложении наблюдается несколько разных EFIBInterBaseError.

Спасибо, точно! Исключение ловлю, находясь внутри DLL, из методов интерфейса переданного в эту самую DLL объекта, исключения генерируются в "основной программе".
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39878980
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни за что и никогда исключения не должны пересекать границу библиотеки. Если приспичило -
используй safecall чтобы они автоматически ловились на выходе и снова выкидывались на входе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879003
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня раньше прямо в DLL создавался коннект, и все работало как ожидалось.
А потом я контекст коннекта из другого (.exe) модуля в .dll передавать стал, прошло время, и вдруг обработка эксцепшнов "заглючила". Раньше просто таких эксцепшнов не было, вот и расслабился. :)
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879007
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня всегда коннект создавался в DLL, но никогда не работал as и is на поставляемых ею объектах. Не исключено, впрочем, что мы с этим делом сейчас, наконец, разберемся, если поймём куда воткнуть рекомендуемый Сибиряковым safecall.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879011
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FА то, насколько помню, в этом случае всегда были штатные проблемы с as и is.
Не всегда. Только при кривой сборке.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879012
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНи за что и никогда исключения не должны пересекать границу библиотеки.
Господи, какая глупость.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879013
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerDimitry SibiryakovНи за что и никогда исключения не должны пересекать границу библиотеки.
Господи, какая глупость.
А мне страшно стало. :)
И так все разобрано на детали, мотор - сюда, коробка - туда, а если еще и место экцепшнов что-то придумывать придется...
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879014
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerVlad FА то, насколько помню, в этом случае всегда были штатные проблемы с as и is.
Не всегда. Только при кривой сборке.
Однако, ты второй уже раз поминаешь кривую сборку, вместо того, чтобы научить заинтересованных слушателей прямой.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879067
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FОднако, ты второй уже раз поминаешь кривую сборку, вместо того, чтобы научить заинтересованных слушателей прямой.
Я уже лет пятнадцать как поминаю её здесь каждый раз, когда возникает эта тема. И опыт показывает, что люди ни фига не учатся - начинают возражать, говорить, что собирают как надо и идти дальше в своё вечное путешествие по граблям.

В случае DLL кривая сборка - без использования run-time packages. Это приводит к копированию RTL и следующим из неё многочисленным проблемам, в том числе к упомянутым здесь is/as и исключениям, а также к многочисленным не упомянутым.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879071
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Я думал, у тебя что то действительно стоящее в кармане припасено. А тут, значит, все, что без runtime-пакетов, все кривое. Ну-ну.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879084
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad Fsoftwarer,
Я думал, у тебя что то действительно стоящее в кармане припасено. А тут, значит, все, что без runtime-пакетов, все кривое. Ну-ну.
Ну тут выбор простой, как я понимаю: либо dll без runtime packages, но тогда из/в неё не передавать ничего из vcl, либо с рантайм (или вообще bpl) если вы хотите использовать все плюшки вроде исключений и т.п.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879090
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Dimitry Sibiryakov прав
сборка dll с пакетами это кустарщина для внутреннего пользования

серьёзное API не должно зависеть от нестандартизированного ABI. Нарушение этого правила абсолютно применимо к любым языкам. В силу падения общего уровня разработчиков это уже стало проблемой в продуктах даже довольно известных компаний.
И ничего кроме матюков данная ситуация не вызывает
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879096
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FА тут, значит, все, что без runtime-пакетов, все кривое. Ну-ну.
Я же говорил

softwarer... и идти дальше в своё вечное путешествие по граблям.

kealon(Ruslan)сборка dll с пакетами это кустарщина для внутреннего пользования
Кустарщина - это попытки с помощью "сюда подсунем, здесь закостылим, а этого скажем что не надо так делать" довести до "разваливается только время от времени" технологию, которая не работоспособна и не предназначена работать в таком режиме. Поставить один чекбокс и получить безупречно работающий результат - для того, чтобы назвать это кустарщиной, особенно в таком сравнении, нужно.... очень развитое воображение, назовём так.

Что же до внутреннего использования... прежде всего я хотел бы увидеть, кто из присутствующих вообще пишет не для внутреннего использования. После чего поинтересоваться, чему в их внешнем использовании мешают ран-тайм пакеты. Вот просто попросить назвать задачу, которую они мешают решить. Впрочем, могу сразу назвать результат - поскольку подобные неумные разговоры ведёт уже не первое поколение. Люди додумаются максимум до "а если я захочу часть DLL компилить одной версией дельфы, а часть - другой, всё равно будут проблемы". На вопрос - зачем им это нужно они не ответят. На вопрос - как они при этом будут решать свои костыли с передачей хандлов и прочим - тоже не ответят.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879219
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
категорий такого софта много: хуки, плагины на миксе софта из разных языков - этого достаточно?
я например, вживую на практике встречал уже кучу проблем из-за таких умников, видимо с такими же рассуждениями

Людей, непонявших основы ABI, к системному программированию допускать нельзя, от слова ВООБЩЕ - т.е. пусть кликает себе формочки и в dll не лезет

softwarerКустарщина - это попытки с помощью "сюда подсунем, здесь закостылим, а этого скажем что не надо так делать" довести до "разваливается только время от времени" технологию, которая не работоспособна и не предназначена работать в таком режиме.каким образом вы оцениваете не имея эффективного положительного опыта в подобной разработке?
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879230
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понедельник только начался. :)
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879231
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov...используй safecall чтобы они автоматически...

Поясни, пожалуйста.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879232
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёПоясни, пожалуйста.

Для пояснений есть F1.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879234
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёDimitry Sibiryakov...используй safecall чтобы они автоматически...

Поясни, пожалуйста.там компилятор код перехватчика ставит, который "пытается" привести возникшие исключения к коду ошибки
но в основном он приводит всё к "Разрушительный сбой"

как бы решение для ленивых "вроде не должно ничего вылезти, но на всякий случай поставим"
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879237
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)там компилятор код перехватчика ставит, который "пытается" привести возникшие исключения к
коду ошибки но в основном он приводит всё к "Разрушительный сбой"
Ну потому что не любое пойманное на границе исключение влезет в HRESULT, для
большинства - такая вот братская могила.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879252
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)категорий такого софта много
Не подменяй вопрос. Я спросил не про категории софта, а про людей.

kealon(Ruslan)Людей, непонявших основы ABI, к системному программированию допускать нельзя
Судя по этой фразе, смысла слов "системное программирование" ты не знаешь.

kealon(Ruslan)каким образом вы оцениваете не имея эффективного положительного опыта в подобной разработке?
Ты точно хорошо подумал над вопросом?
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879255
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

понятно: попробовал, обжёгся, запретил дл себя как непосильное
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879256
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЧто же до внутреннего использования... прежде всего я хотел бы увидеть, кто из
присутствующих вообще пишет не для внутреннего использования. После чего поинтересоваться,
чему в их внешнем использовании мешают ран-тайм пакеты. Вот просто попросить назвать
задачу, которую они мешают решить. Впрочем, могу сразу назвать результат - поскольку
подобные неумные разговоры ведёт уже не первое поколение. Люди додумаются максимум до "а
если я захочу часть DLL компилить одной версией дельфы, а часть - другой, всё равно будут
проблемы". На вопрос - зачем им это нужно они не ответят. На вопрос - как они при этом
будут решать свои костыли с передачей хандлов и прочим - тоже не ответят.

Что самое забавное, точно та же реакция следует на вопрос "а зачем тут вообще ран-тайм
пакеты и чему во внутреннем использовании мешает сборка монолит-кирпич": идут пространные
рассуждения о скорости скачивания (ага, для "внутреннего потребления") и возможность
сборки/апгрейда системы по частям. На вопрос "как эти костыли работают при любом малейшем
изменении интерфейса" - тоже не ответят.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879269
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЧто самое забавное, точно та же реакция следует на вопрос "а зачем тут вообще ран-тайм пакеты и чему во внутреннем использовании мешает сборка монолит-кирпич":
Ты имеешь в виду сборку в один exe? Предлагаю авторов таких ответов зачислять в ту же категорию, что и коллегу Руслана. А так - там, где dll не особо нужны, это, безусловно, лучший из возможных вариантов. Одобренный стариной Оккамом.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879275
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

тьфу-тьфу таких коллег, оставьте себе
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879279
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerтам, где dll не особо нужны, это, безусловно, лучший из возможных вариантов. Одобренный
стариной Оккамом.

И вот тут возникает естественный вопрос "а где они, собственно, особо нужны?" после
которого (внезапно!) вылазят уже упомянутые плагины и прочие поделия третьего сорта
третьих сторон.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879300
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovИ вот тут возникает естественный вопрос "а где они, собственно, особо нужны?"
Тут уже есть варианты. Если лезть на стенку, конечно, про любой можно сказать "не так уж и особо", а если принимать разумное и взвешенное решение - они удобны, например, при конфигурировании. Когда у тебя сотня клиентов, и первому нужны модули 1, 2 и 3, второму - 1, 4 и 5, третьему - 1, 3 и "особая версия модуля 5" и так далее, собирать и тестировать каждому свой особый кирпич становится довольно громоздко.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879302
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerи так далее, собирать и тестировать каждому свой особый кирпич становится довольно громоздко.

Я, конечно, не буду говорить, что это решается ветками в VCS, но чисто из любопытства:
BPL-ки "ненужных" модулей ты совершенно не поставляешь или поставляешь вместо них
заглушки? Потому что первый путь это путь динамической загрузки и сильно напоминает
самурайский.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879308
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЯ, конечно, не буду говорить, что это решается ветками в VCS
Потому что это будет странный и нелепый ответ, свидетельствующий о "моя реплика либо не прочитана, либо не понята".

Dimitry SibiryakovBPL-ки "ненужных" модулей ты совершенно не поставляешь или поставляешь вместо них
заглушки?
Для начала, это не BPL-ки. В BPL-ки я укладываю движок и прочую общесистемную функциональность, которая нужна везде. Прикладной код собирается в DLL-ки. Из них поставляются только нужные. Да, естественно, динамическая загрузка. Ничего самурайского в нём нет, нет вообще никаких проблем. То есть не то что "были, но я решил", а их просто нет. Возможно, потому, что я не стал совершать двух любимых ошибок новичков:

а) использую ран-тайм пакеты
б) загружаю dll-ки один раз и даю им жить всё время работы приложения, не пытаясь "выгружать когда не нужны".
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879319
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

гениально ... *APLAUSE*, ну всё, топик можно закрывать
успехов вам с коллегами
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879338
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerДля начала, это не BPL-ки. В BPL-ки я укладываю движок и прочую общесистемную
функциональность, которая нужна везде. Прикладной код собирается в DLL-ки. Из них
поставляются только нужные.

Этот микс чисто из-за того, что ты не смог в справке найти LoadPackage() или тут есть
глубинный смысл?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879347
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭтот микс чисто из-за того, что ты не смог в справке найти LoadPackage() или тут есть
глубинный смысл?
Ты правда думаешь, что стиль поведения закурившего и выматерившегося подростка помогает тебе выглядеть умнее?
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879356
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

ну что вы так сразу, у системщиков довольно сильная профдеформация
частенько приходится скатываться на уровень собеседников, для поддержания конструктивного русла так сказать
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879361
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

что-то мне подсказывает, что когда мы достанем и померяемся, окажется, что образование системного программиста есть только у меня. А вполне вероятно что и образование программиста вообще. Поэтому давай ты так деликатно перестанешь называть себя тем, кем не являешься.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879366
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

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

а таки да, я работаю системщиком
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879369
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)не помню что бы получение диплома делало кого-то проффесионалом в узкой области, это всего лишь стартовый шаг
Конечно. Просто это экономит время. Если ты двигался в правильном направлении - значит, первые лет десять своего кропотливого обучения осваивал то, что прошёл бы за пять лет профильного образования.
...
Рейтинг: 0 / 0
Воскресно-вечернее торможение
    #39879389
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

знаешь, всяко бывает, что денюжки приносило, тем и занимался
Я п не сказал, что системщик это мой вот такой уж основной профиль, скорее хобби с универа, которые стало основной деятельностью и я уже 4 года этим занимаюсь.
Что ж делать, если у нас реальное производство скатывается во всем известное место. А так бы сидел, занимался графикой для нефтяников, картинки красивые заставлял бы программы рисовать, рассчёты замудрёные делать.
В общем-то подготовка физфака на то время мало отличалась от подготовки матфака, это я могу точно сказать, так как писал дипломные программы для них.

Самое интересное, в то время как мы дожимали численные вычисления оставшиеся от ссср (на это был спрос и кафедру хорошо так спонсировали), на матфаке всё было довольно плохо с программированием, да и с техникой тоже
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Воскресно-вечернее торможение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]