Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
ВнизФорма из dll Найти похожие ветки
← →
Дмитрий2 (2010-09-02 20:54) [0]Как загрузить форму из dll?
← →
Сергей М. © (2010-09-02 21:10) [1]Не надо ее "грузить" ни туда ни оттуда.
Геморроя поимеешь полну пятую точку)
Дельфийские формы, если их и поселять во внешние модули, следует селить в bpl, а не в dll.
← →
Дмитрий2 (2010-09-02 21:14) [2]
> Сергей М. © (02.09.10 21:10) [1]
можно ссылочку
← →
Сергей М. © (2010-09-02 21:22) [3]все в стандартной справке написано ?
← →
Leonid Troyanovsky © (2010-09-02 22:23) [4]
> Дмитрий2 (02.09.10 21:14) [2]
> можно ссылочку
Могу прочитать лекцию, если мотивы засовывания
формы в dll будут приподоткрыты.
--
Regards, LVT.
← →
Dennis I. Komarov © (2010-09-03 09:47) [5]
> Сергей М. © (02.09.10 21:10) [1]
> Не надо ее "грузить" ни туда ни оттуда.
> Геморроя поимеешь полну пятую точку)
> Дельфийские формы, если их и поселять во внешние модули,
> следует селить в bpl, а не в dll.
Да ладно тебе пугать людей так сразу. Пусть сперва расскажет за каким оно надо (и т.п.), а там уже посмотрим... ;)
← →
Игорь Шевченко © (2010-09-03 10:15) [6]
> если мотивы засовывания
> формы в dll будут приподоткрыты
мотив - разделение кода.
← →
sniknik © (2010-09-03 10:25) [7]> мотив - разделение кода.
в итоге, исходя из этого мотива, кода становится больше, и он становится "неуправляемым". часто с таким встречаюсь.
хотя чего проще для "разделения" завести отдельный модуль (dcu), или как советовали bpl.
короче этот "мотив" это отмазка, и она "не катит" :о), от такого только отговорить попытаются.
← →
Игорь Шевченко © (2010-09-03 11:09) [8]
> в итоге, исходя из этого мотива, кода становится больше,
> и он становится "неуправляемым". часто с таким встречаюсь
попробуй руки выпрямить
← →
Leonid Troyanovsky © (2010-09-03 11:16) [9]
> Игорь Шевченко © (03.09.10 10:15) [6]
> мотив - разделение кода.
Полностью согласен с уважаемым sniknik © -
сделать uses проще и надежнее чем LoadLibrary.
Но, тебе, Игорь, я лекции читать не буду :)
--
Regards, LVT.
← →
sniknik © (2010-09-03 11:16) [10]поймаю, тех чей код мне присылают, выпрямлю... прямо в их же присутствии... :) (© Райкин/Жванецкий)
← →
sniknik © (2010-09-03 11:27) [11]Leonid Troyanovsky © (03.09.10 11:16) [9]
есть еще такой термин dll hell. сам себе я его устраивать не буду. а вот разгребать чужие проблемы с этим связанные (или с похожим) приходится.
есть несколько приложений с dll, идея их была типа такой - приложение не меняем, нужен новый функционал/изменение меняем только библиотеку, и без перекомпиляций...
в итоге вижу, что меняется всегда ВСЕ, т.к. одни изменения тянут за собой другие, изменение функций, и как итог одна версия приложения работает исключительно с одной версией dll, а если даже dll-и старые не менялись, то все одно "на всякий случай". идея модульности в общем нафиг летит.
← →
Игорь Шевченко © (2010-09-03 11:35) [12]Leonid Troyanovsky © (03.09.10 11:16) [9]
> сделать uses проще и надежнее чем LoadLibrary.
Да, конечно. И менять тысячу EXEшников по разным концам планеты вместо одной DLL конечно же, тоже проще, а главное, надежнее :)
sniknik © (03.09.10 11:16) [10]
Лучше сразу ампутировать
sniknik © (03.09.10 11:27) [11]
> есть еще такой термин dll hell. сам себе я его устраивать
> не буду. а вот разгребать чужие проблемы с этим связанные
> (или с похожим) приходится.
Мы честно сделали проверку версий используемых DLL, если не совпадает - разгребайте сами.
← →
Dennis I. Komarov © (2010-09-03 12:00) [13]Живут мелкомягкие диалоги в dll-ках, и ничего так живут. Все юзают и не жалуются...
← →
Плохиш © (2010-09-03 12:07) [14]
> Dennis I. Komarov © (03.09.10 12:00) [13]
>
> Живут мелкомягкие диалоги в dll-ках
Какое отношение они имеют к VCL?
← →
sniknik © (2010-09-03 12:10) [15]> Живут мелкомягкие диалоги в dll-ках, и ничего так живут.
ну так сделай аналогично, не пользуясь vcl/потокобезопасно, и твои будут жить без жалоб...
но речь в последних постах немного не о том, а о целесообразности это делать для одного приложения. или цель чтобы твою dll пользовали все?
← →
Dennis I. Komarov © (2010-09-03 13:08) [16]А у меня никто и не жалуется :)
> но речь в последних постах немного не о том, а о целесообразности
> это делать для одного приложения. или цель чтобы твою dll
> пользовали все?
Так может всетаки дождаться ответа автора, а не ромашки рвать
> Какое отношение они имеют к VCL?
Они никакого, но причем тут это?
← →
sniknik © (2010-09-03 13:16) [17]> Так может всетаки дождаться ответа автора
а кто с автором то разговаривает?
> Они никакого, но причем тут это?
при том что именно vcl не дает нормально работать с формами в dll логика у нее другая, не для пихания в dll.
← →
Игорь Шевченко © (2010-09-03 13:25) [18]
> при том что именно vcl не дает нормально работать с формами
> в dll логика у нее другая, не для пихания в dll.
А вот Тейксейра с Пачеко пишут не так...
← →
Dennis I. Komarov © (2010-09-03 14:04) [19]
> именно vcl не дает нормально работать с формами в dll логика
> у нее другая, не для пихания в dll.
С этого момента, поподробнее? Что есть нормальная работа с формами?
← →
Leonid Troyanovsky © (2010-09-03 16:16) [20]
> Игорь Шевченко © (03.09.10 13:25) [18]
> А вот Тейксейра с Пачеко пишут не так...
Они сгоряча.
--
Regards, LVT.
← →
Leonid Troyanovsky © (2010-09-03 16:20) [21]
> Игорь Шевченко © (03.09.10 11:35) [12]
> Да, конечно. И менять тысячу EXEшников по разным концам
> планеты вместо одной DLL конечно же, тоже проще, а главное,
> надежнее :)
Чего там сложного: http, ftp, DHL :)
--
Regards, LVT.
← →
Игорь Шевченко © (2010-09-03 16:22) [22]
> Чего там сложного: http, ftp, DHL :)
не запутаться, кому что
← →
Leonid Troyanovsky © (2010-09-03 16:37) [23]
> Dennis I. Komarov © (03.09.10 14:04) [19]
> С этого момента, поподробнее? Что есть нормальная работа
> с формами?
VCL неявно инициализирует кучу всякого, для библиотеки
это может быть совсем плохо.
ИШ как-то рассказывал про грабли с инициализацией variants,
ЕМНИП, похожее мне тоже встречалось.
Как должна быть устроена нормальная длл, я как тут ссылался
на ms best practices. Легко заметить, что VCL туда не пролезет.
Ну, и как бы правильно не была написаная dll, от hell оно не спасет.
--
Regards, LVT.
← →
Dennis I. Komarov © (2010-09-03 17:06) [24]
function ShowLoginForm;
begin
Result:=false;
Application.Handle:= AHandle;
with TFormLogin.Create(Application) do try
if ShowModal = mrOk then begin
.....
Result:=true;
end;
finally
Free;
end;
end;
Т.е. вот такое право на жизнь в длл не имеет?
← →
Leonid Troyanovsky © (2010-09-03 17:16) [25]
> Dennis I. Komarov © (03.09.10 17:06) [24]
> Т.е. вот такое право на жизнь в длл не имеет?
В нормальной длл - не имеет, см. выше.
Да, и создать диалог на WinAPI, который будет
компактен, а главное - работоспособен хоть
в длл, хоть в потоке, хоть в сях, хоть в вба -
вовсе не бином Ньютона.
Кста, не все длл одинаково полезны, по борландовской
парадигме локализации дфм форм живут в ресурсной длл.
--
Regards, LVT.
← →
Игорь Шевченко © (2010-09-03 17:21) [26]
> по борландовской
> парадигме локализации дфм форм живут в ресурсной длл
фиговую они парадигму сделали, если честно
← →
Leonid Troyanovsky © (2010-09-03 17:27) [27]
> Игорь Шевченко © (03.09.10 17:21) [26]
> фиговую они парадигму сделали, если честно
Вовремя, IMHO, не сумели разглядеть генеральную линию,
пришлось извратиться.
Но, все равно, в ресурсных длл есть и кое-что полезное.
--
Regards, LVT.
← →
Dennis I. Komarov © (2010-09-03 17:53) [28]
> Да, и создать диалог на WinAPI, который будет
> компактен, а главное - работоспособен хоть
> в длл, хоть в потоке, хоть в сях, хоть в вба -
> вовсе не бином Ньютона.
Ну, мы вроде не об этом...
> VCL неявно инициализирует кучу всякого, для библиотеки
> это может быть совсем плохо.
Конкретно, что в данном коде "страшного"?
← →
Игорь Шевченко © (2010-09-03 18:09) [29]
> Но, все равно, в ресурсных длл есть и кое-что полезное.
в ресурсных DLL дофига полезного
← →
Leonid Troyanovsky © (2010-09-05 09:53) [30]
> Dennis I. Komarov © (03.09.10 17:53) [28]
> Конкретно, что в данном коде "страшного"?
Посмотри, например, нет ли утечки для твоей версии дельфи.
http://groups.google.com/group/fido7.ru.delphi/msg/8de6822d04bffa9d
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.004 c