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

Вниз

Форма из 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;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.011 c
4-1241772386
Unknown user
2009-05-08 12:46
2010.11.28
Отладка процесса с точками останова


15-1282541332
12
2010-08-23 09:28
2010.11.28
Сообщения. Уведомления об изменениях других окон


2-1284119863
ATitle
2010-09-10 15:57
2010.11.28
Не работает Application.Title (Delphi 2010)


4-1241548178
ID_23587A5E
2009-05-05 22:29
2010.11.28
Перемещение окна без перемещения изображения в нем


3-1248275669
sektor
2009-07-22 19:14
2010.11.28
Правильные параметры для транзакций