Componentes.Terceros.jvcl/official/3.32/examples/RaLib/RaInterpreterDynamicLoad/!README.txt

60 lines
2.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Демонстрация динамической загрузки интерпретатора
=================================================
Это демонстрационное приложение работает в Delphi 5 и 6.
Оно также может быть использовано в других версиях Delphi,
кроме 2, однако это требует незначительной модификации
исходного кода (см. условия {$IFDEF}).
Состав
------
1. MyLabel.pas - модуль с нашим компонентом;
2. MyLabelPackage.dpk - пакет с нашим компонентом
(Design-time and Run-time);
3. JvInterpreter_MyLabel.pas - модуль с адаптером для нашего
компонента к интерпретатору;
4. JvInterpreter_MyLabelPackage.dpk - пакет с адаптером
для нашего компонента к интепретатору (Run-time);
5. ScriptForm.pas/ScriptForm.dfm - форма, в которой
используется наш компонент;
6. DynamicLoad.dpr - проект, демонстрирующий
динамическую загрузку пакета с нашим компонентом
и запуск интерпретатора;
7. MainForm.pas/MainForm.dfm - модуль с формой для
тестового проекта. выполняет всю основную работу.
Сборка
------
1. Компилируем пакет MyLabelPackage.dpk, можно также
проинсталлировать его в дельфи. Добавляет компонент
TMyLabel на закладку "JVCL".
2. Компилируем пакет JvInterpreter_MyLabelPackage.dpk,
не инсталлируем.
3. Компилируем демо-проект DynamicLoad.dpr.
4. Помещаем пакеты rai5.bpl, raia5.bpl в каталог, где
находится DynamicLoad.exe.
Запуск
------
1. Запускаем DynamicLoad.exe и нажимаем на все кнопочки.
Как это работает
----------------
Вся функциональность заключается в модуле MainForm.pas.
Функция "DynamicJvInterpreterRunFormModal"
procedure DynamicJvInterpreterRunFormModal(const FileName: TFileName);
загружает пакет интерпретатора и запускает указанную форму на выполнение.
Функция LoadJvInterpreterPackage
function LoadJvInterpreterPackage(const PackageFileName: TFileName; const UnitName: String): HModule;
загружает дополнительные пакеты.
Перед запуском нашей тестовой формы (ScriptForm.pas/ScriptForm.dfm)
мы сначала используя функцию "LoadJvInterpreterPackage" загружаем
наш пакет с нашим классом и регистрируем его в глобальном адаптере.
Для изучения более подробного устройства воспользуйтесь
исходными текстами.
Andrei Prygounkov, 21 сентября 2001 г.
a.prygounkov@gmx.de