Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.12.12;
Скачать: [xml.tar.bz2];

Вниз

Ссылки-невозвращенцы из BPL   Найти похожие ветки 

 
mfender   (2010-09-18 07:43) [0]

Странная какая-то беда творится.

{Есть объект, упакованный в паккагу edforms.bpl}
unit formEditAttributesSan;

type
 TfrmEditAttributesSan = class(TForm)
   sDBEdit1: TsDBEdit;
 end;

implementation

initialization
 RegisterClass (TfrmEditAttributesSan);

{Есть код, подгружающий это дело, и призванный получить эту форму, что-то сделать и всё удалить.
Чтобы не убить остатки манной каши в голове, я просто таки скопипастил у Марко Кэнту код после нескольких часов недоумения, подрисовав туда свои значения}

procedure TAttrsSan.InsertEdit(Caption: string);
var
 frmEditAttributesSan: TForm;
 FormClass: TFormClass;
 HandlePack: HModule;
begin
 HandlePack := LoadPackage("edforms.bpl");
 if HandlePack > 0 then
 begin
{Вот до сюдова всё работает. Т.е. HandlePack есть, всё подгрузилось}

   FormClass := TFormClass(GetClass("TfrmEditAttributesSan"));

{А вот тут неясные грабли: FormClass всегда равен nil, и разумеется, дальнейшие движения проходят мимо.}

   if Assigned(FormClass) then
   begin
     frmEditAttributesSan := FormClass.Create(Application);
     try
       if frmEditAttributesSan.ShowModal = mrOk then
         showmessage("Оно тут было");
     finally
       frmEditAttributesSan.Free;
     end;
   end;
   UnloadPackage(HandlePack);
 end
 else
   Showmessage("Package not found");
end;


Срисовал из его (Марко Кэнту) примеров. И что характерно, его-то примеры работают! Моё - не работает, несмотря на то, что не нашёл я ни одного отличия в коде, проведя долгий побуквенный анализ написанного у него и у меня... Застрэлиться что-ли?


 
mfender   (2010-09-18 07:51) [1]

Да, добавлю: FindClass() как водится сообщает об ошибке ---------------------------
Project <.....> raised exception class EClassNotFound with message "Class TfrmEditAttributesSan not found".


 
mfender   (2010-09-18 09:06) [2]

То есть, если я правильно понял, для  того, чтобы это работало, нужно таскать всю пачку BPL вместе с программой, а компилировать exe вместе со всеми этими RTL?


 
Ega23 ©   (2010-09-18 10:07) [3]


> То есть, если я правильно понял, для  того, чтобы это работало,
>  нужно таскать всю пачку BPL вместе с программой, а компилировать
> exe вместе со всеми этими RTL?


Скажи, а нафига тебе отдельная bpl? Что мешает просто в uses подключить и использовать?


 
Игорь Шевченко ©   (2010-09-18 16:39) [4]


> {Вот до сюдова всё работает. Т.е. HandlePack есть, всё подгрузилось}
>
>    FormClass := TFormClass(GetClass("TfrmEditAttributesSan"));
>
>
> {А вот тут неясные грабли: FormClass всегда равен nil, и
> разумеется, дальнейшие движения проходят мимо.}


потому что секция initialization при динамической загрузке пакета не выполнилась.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
6-1205493435
macrodens
2008-03-14 14:17
2010.12.12
Список сетевых подключений


2-1285040260
Серёга
2010-09-21 07:37
2010.12.12
В сети или не в сети, вот в чём вопрос!


6-1230380237
pomashok
2008-12-27 15:17
2010.12.12
Расшаривание интернет соединения


15-1283137842
Ewans
2010-08-30 07:10
2010.12.12
Создание полноценного чата на Flash


2-1284656353
Первокурсница
2010-09-16 20:59
2010.12.12
Модификация записей в Access с помощью Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский