Re[3]: Классы в Delphi
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 21.10.03 07:41
Оценка:
Народ, а кто знает, как в пэкеджах обеспечивается совместимость классов в BPL и основном модуле? Только наличием юнитов для сверки?

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[4]: Классы в Delphi
От: Hacker_Delphi Россия  
Дата: 21.10.03 08:07
Оценка:
Здравствуйте, Slicer [Mirkwood], Вы писали:

SM>Народ, а кто знает, как в пэкеджах обеспечивается совместимость классов в BPL и основном модуле? Только наличием юнитов для сверки?

не только... там много чего еще есть...например, есть такой файл .dcp, прилагается к любому .bpl, и без него ты использовать Package не могешь...

вернее — могешь, но не компилятором, а вот подцепить его — таки да... могешь... надо только сделать ручной вызов всех Register... как это делать — отдельная песня, если хочешь — как-нить позже расскажу, могеш напомнить через пару дней (мой мыл есть в профиле).

в .dcp лежат все .dcu...
а в .dcu есть вся RTTI/DebugInfo/TI
... << RSDN@Home 1.1 beta 2 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[3]: Классы в Delphi
От: Shadowspan Россия  
Дата: 21.10.03 08:16
Оценка: +1
Здравствуйте, Sinclair, Вы писали:

Абсолютно верно. Но есть возможность не компилить с пакетами. LoadPackage — и грузи пакеты в обычную программу.
... << RSDN@Home 1.1 beta 2 >>
Re[5]: Классы в Delphi
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 21.10.03 08:23
Оценка:
Разве ручной вызов Register'ов спасет от несовместимости типов? Тогда — каким образом обеспечивается это спасение на уровне внутрнних механизмов Дельфей? Не модификацией же кода?

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[2]: Классы в Delphi
От: AlexVinS Россия  
Дата: 21.10.03 08:25
Оценка:
Здравствуйте, Hacker_Delphi, Вы писали:

H_D>Здравствуйте, star0ff, Вы писали:


S>>Возникло желание выгрузить из основной программы мои классы и засунуть их в какую-то библиотеку (DLL)

S>>Подскажите возможные пути решения.
H_D>Единственный правильный путь — использовать пакаджи (кстати, изначально они именно для этого и предназначены)... благо для этого и делать особо ничего не надо — просто галку "Use Runtime Packages" включить... причем, если убрать оттуда стандартные — то они тебе прилинкуются, но лучше так не шутить....

Интересно поподробнее про эти "шутки"...

Я припоминаю вот что: если в свой пакадж засунуть юниты VCl, все которые нужны, и подключить к проекту только его, то все работает, пока не пытаешься, например, динамически подключить пакадж, который требует другие юниты VCL.

Есть ли еще грабли?


Умный человек знает не многое, но нужное
Re[6]: Классы в Delphi
От: Hacker_Delphi Россия  
Дата: 21.10.03 08:37
Оценка:
Здравствуйте, Slicer [Mirkwood], Вы писали:

SM>Разве ручной вызов Register'ов спасет от несовместимости типов? Тогда — каким образом обеспечивается это спасение на уровне внутрнних механизмов Дельфей? Не модификацией же кода?

нет... ты не понял... если у тебя есть файл dcp — оно еще при компиляции ругнется — и все...
ручной вызов register нужен тогда, когда есть только bpl и ты точно знаешь, что "вон там" — точно Control.. далее подымаешь пакадж и регистрируешь его (при регистрации все вызова RegisterXXX можно перехватить и узнать про все классы, которые есть)...
а от ошибки несовместимости юнитов не имея ВСЕХ исходников ты не избавишься никак
... << RSDN@Home 1.1 beta 2 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[7]: Классы в Delphi
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 21.10.03 08:38
Оценка:
H_D>а от ошибки несовместимости юнитов не имея ВСЕХ исходников ты не избавишься никак
Дык вот ведь это-то и есть главная проблема, по-моему

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[7]: Классы в Delphi
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 21.10.03 08:53
Оценка:
Кстати, строго говоря, в некоторых случаях можно. Например, если надо Font.Assign(MyPlugin.GetFont()), то можно переписать RTTI-данные того фонта, который из плагина Если, конечно, там именно TFont, а не его потомок

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[3]: Классы в Delphi
От: Arioch  
Дата: 21.10.03 11:30
Оценка:
The stars so gaily glistened... (Tue, 21 Oct 2003 08:25:24 GMT @392)
...while the fading voice of AlexVinS whispered through the darkness:

A> Я припоминаю вот что: если в свой пакадж засунуть юниты VCl, все которые

A> нужны, и подключить к проекту только его, то все работает, пока не

Ну это нужно если по инету хочешь распространять.
А "на компакте" можно и стандартнуые борландовские выложить.

--
If i had ears, i'd heard none: WinAMP de-instaled.
http://Arioch.nm.ru/FL/Fidolook_SL.png Mail: the_Arioch<at>nm<dot>ru
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[4]: Классы в Delphi
От: Sinclair Россия https://github.com/evilguest/
Дата: 21.10.03 12:33
Оценка:
Здравствуйте, s.ts, Вы писали:
http://www.rsdn.ru/forum/Message.aspx?mid=208322&amp;only=1
Автор: Slicer [Wirkwood]
Дата: 05.03.03
... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Классы в Delphi
От: AlexVinS Россия  
Дата: 21.10.03 13:03
Оценка:
Здравствуйте, Arioch, Вы писали:

A>The stars so gaily glistened... (Tue, 21 Oct 2003 08:25:24 GMT @392)

A>...while the fading voice of AlexVinS whispered through the darkness:

A>> Я припоминаю вот что: если в свой пакадж засунуть юниты VCl, все которые

A>> нужны, и подключить к проекту только его, то все работает, пока не

A>Ну это нужно если по инету хочешь распространять.

A>А "на компакте" можно и стандартнуые борландовские выложить.

Просто не люблю таскать библиотеки которые не необходимы.


Умный человек знает не многое, но нужное
Re[5]: Классы в Delphi
От: s.ts  
Дата: 22.10.03 07:10
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, s.ts, Вы писали:

S>http://www.rsdn.ru/forum/Message.aspx?mid=208322&amp;only=1
Автор: Slicer [Wirkwood]
Дата: 05.03.03


Не понял. Это к чему ?
Re[6]: Классы в Delphi
От: Sinclair Россия https://github.com/evilguest/
Дата: 22.10.03 10:11
Оценка: :)
Здравствуйте, s.ts, Вы писали:

ST>Здравствуйте, Sinclair, Вы писали:


S>>Здравствуйте, s.ts, Вы писали:

S>>http://www.rsdn.ru/forum/Message.aspx?mid=208322&amp;only=1
Автор: Slicer [Wirkwood]
Дата: 05.03.03


Ну, к тому, что можно не только писать в форумы, но и читать их Вас опередили более чем на полгода.
... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[7]: Классы в Delphi
От: s.ts  
Дата: 22.10.03 12:57
Оценка: :)
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, s.ts, Вы писали:


ST>>Здравствуйте, Sinclair, Вы писали:


S>>>Здравствуйте, s.ts, Вы писали:

S>>>http://www.rsdn.ru/forum/Message.aspx?mid=208322&amp;only=1
Автор: Slicer [Wirkwood]
Дата: 05.03.03


S>Ну, к тому, что можно не только писать в форумы, но и читать их Вас опередили более чем на полгода.


Полностью стогласен:
http://www.rsdn.ru/Forum/Message.aspx?mid=416127&amp;only=1
Автор: s.ts
Дата: 20.10.03


Опередил Вас более чем на 2 дня.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.