Заредете Tframe от bpl към приложението

Опитвам се да заредя tframe в пакет delphi (bpl), който да бъде показан в основното ми приложение, моля, дайте ми код както за пакета, така и за приложението.


person VibeeshanRC    schedule 22.10.2010    source източник


Отговори (1)


Дайте на човек риба и той яде за един ден, научите човека да лови риба и той яде цял живот. Така че няма код за вас :)

Как трябва да го направите:

  1. Стартирайте Delphi, създайте нов пакет.
  2. Добавете TFrame към вашия bpl
  3. Запазете и компилирайте, сега трябва да имате .bpl и .dcp.
  4. Затвори всички
  5. Създайте ново приложение
  6. В свойствата на вашия проект включете „Изграждане с пакети по време на изпълнение“
  7. Добавете своя bpl към списъка с пакети за изпълнение.
  8. Включете директориите на вашите bpl и dcp файлове в пътя за търсене
  9. Затворете свойствата на вашия проект
  10. Отидете до вашия Form1, добавете модула с вашия TFrame към вашите приложения.
  11. В събитието FormCreate създайте TFrame и го добавете към вашето приложение
  12. Компилирайте и стартирайте

Резюме: Създайте пакет (bpl) с вашите рамки. Във вашето приложение добавете bpl към вашия списък с пакети за изпълнение и след това използвайте TFrames, както бихте направили обикновено.

person The_Fox    schedule 22.10.2010
comment
Можете също да заредите BPL динамично по време на изпълнение, като използвате LoadPackage(), вместо да се свързвате към пакета по време на компилиране. След това можете да накарате BPL да експортира функция, която връща обект на TFrame и приложението да има достъп до тази функция чрез GetProcAddress(). Или BPL може да регистрира своя(те) тип(ове) клас(ове) TFrame с RegisterClass() и след това приложението може да го/ги инстанцира чрез GetClass/FindClass() и TApplication.CreateForm() или TCustomFrameClass.Create(). - person Remy Lebeau; 23.10.2010