Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Форма из dll [D7, XP]


Страницы:   1 2

Дмитрий2 ©   (2010-09-02 20:54:00) 

Как загрузить форму из dll?


Leonid Troyanovsky   (2010-09-05 09:53:00) [1]


> Dennis I. Komarov ©   (03.09.10 17:53) [28]

> Конкретно, что в данном коде "страшного"?

Посмотри, например, нет ли утечки для твоей версии дельфи.
http://groups.google.com/group/fido7.ru.delphi/msg/8de6822d04bffa9d

--
Regards, LVT.


Игорь Шевченко   (2010-09-03 18:09:00) [2]


> Но, все равно, в ресурсных длл есть и кое-что полезное.


в ресурсных DLL дофига полезного


Dennis I. Komarov   (2010-09-03 17:53:00) [3]


> Да, и создать диалог на WinAPI, который будет
> компактен, а главное - работоспособен хоть
> в длл, хоть в потоке, хоть в сях, хоть в вба -
> вовсе не бином Ньютона.

Ну, мы вроде не об этом...


> VCL неявно инициализирует кучу всякого, для библиотеки
> это может быть совсем плохо.

Конкретно, что в данном коде "страшного"?


Leonid Troyanovsky   (2010-09-03 17:27:00) [4]


> Игорь Шевченко ©   (03.09.10 17:21) [26]

> фиговую они парадигму сделали, если честно

Вовремя, IMHO, не сумели разглядеть генеральную линию,
пришлось извратиться.
Но, все равно, в ресурсных длл есть и кое-что полезное.

--
Regards, LVT.


Игорь Шевченко   (2010-09-03 17:21:00) [5]


> по борландовской
> парадигме локализации дфм форм живут в ресурсной длл


фиговую они парадигму сделали, если честно


Leonid Troyanovsky   (2010-09-03 17:16:00) [6]


> Dennis I. Komarov ©   (03.09.10 17:06) [24]

> Т.е. вот такое право на жизнь в длл не имеет?

В нормальной длл - не имеет, см. выше.

Да, и создать диалог на WinAPI, который будет
компактен, а главное - работоспособен хоть
в длл, хоть в потоке, хоть в сях, хоть в вба -
вовсе не бином Ньютона.

Кста, не все длл одинаково полезны, по борландовской
парадигме локализации дфм форм живут в ресурсной длл.

--
Regards, LVT.


Dennis I. Komarov   (2010-09-03 17:06:00) [7]

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 16:37:00) [8]


> Dennis I. Komarov ©   (03.09.10 14:04) [19]

> С этого момента, поподробнее? Что есть нормальная работа
> с формами?

VCL неявно инициализирует кучу всякого, для библиотеки
это может быть совсем плохо.
ИШ как-то рассказывал про грабли с инициализацией variants,
ЕМНИП, похожее мне тоже встречалось.

Как должна быть устроена нормальная длл, я как тут ссылался
на ms best practices. Легко заметить, что VCL туда не пролезет.

Ну, и как бы правильно не была написаная dll, от hell оно не спасет.

--
Regards, LVT.


Игорь Шевченко   (2010-09-03 16:22:00) [9]


> Чего там сложного: http, ftp, DHL :)


не запутаться, кому что


Leonid Troyanovsky   (2010-09-03 16:20:00) [10]


> Игорь Шевченко ©   (03.09.10 11:35) [12]

> Да, конечно. И менять тысячу EXEшников по разным концам
> планеты вместо одной DLL конечно же, тоже проще, а главное,
>  надежнее :)

Чего там сложного: http, ftp, DHL :)

--
Regards, LVT.


Leonid Troyanovsky   (2010-09-03 16:16:00) [11]


> Игорь Шевченко ©   (03.09.10 13:25) [18]

> А вот Тейксейра с Пачеко пишут не так...

Они сгоряча.

--
Regards, LVT.


Dennis I. Komarov   (2010-09-03 14:04:00) [12]


> именно vcl не дает нормально работать с формами в dll логика
> у нее другая, не для пихания в dll.

С этого момента, поподробнее? Что есть нормальная работа с формами?


Игорь Шевченко   (2010-09-03 13:25:00) [13]


> при том что именно vcl не дает нормально работать с формами
> в dll логика у нее другая, не для пихания в dll.


А вот Тейксейра с Пачеко пишут не так...


sniknik   (2010-09-03 13:16:00) [14]

> Так может всетаки дождаться ответа автора
а кто с автором то разговаривает?

> Они никакого, но причем тут это?
при том что именно vcl не дает нормально работать с формами в dll логика у нее другая, не для пихания в dll.


Dennis I. Komarov   (2010-09-03 13:08:00) [15]

А у меня никто и не жалуется :)


> но речь в последних постах немного не о том, а о целесообразности
> это делать для одного приложения. или цель чтобы твою dll
> пользовали все?


Так может всетаки дождаться ответа автора, а не ромашки рвать


> Какое отношение они имеют к VCL?

Они никакого, но причем тут это?


sniknik   (2010-09-03 12:10:00) [16]

> Живут мелкомягкие диалоги в dll-ках, и ничего так живут.
ну так сделай аналогично, не пользуясь vcl/потокобезопасно, и твои будут жить без жалоб...

но речь в последних постах немного не о том, а о целесообразности это делать для одного приложения. или цель чтобы твою dll пользовали все?


Плохиш   (2010-09-03 12:07:00) [17]


> Dennis I. Komarov ©   (03.09.10 12:00) [13]
>
> Живут мелкомягкие диалоги в dll-ках

Какое отношение они имеют к VCL?


Dennis I. Komarov   (2010-09-03 12:00:00) [18]

Живут мелкомягкие диалоги в dll-ках, и ничего так живут. Все юзают и не жалуются...


Игорь Шевченко   (2010-09-03 11:35:00) [19]

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, если не совпадает - разгребайте сами.


sniknik   (2010-09-03 11:27:00) [20]

Leonid Troyanovsky ©   (03.09.10 11:16) [9]
есть еще такой термин dll hell. сам себе я его устраивать не буду. а вот разгребать чужие проблемы с этим связанные (или с похожим) приходится.

есть несколько приложений с dll, идея их была типа такой - приложение не меняем, нужен новый функционал/изменение меняем только библиотеку, и без перекомпиляций...
в итоге вижу, что меняется всегда ВСЕ, т.к. одни изменения тянут за собой другие, изменение функций, и как итог одна версия приложения работает исключительно с одной версией dll, а если даже dll-и старые не менялись, то все одно "на всякий случай". идея модульности в общем нафиг летит.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо