Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

подключаю bpl   Найти похожие ветки 

 
Frozen   (2006-09-07 09:10) [0]

День добрый уважаемые!
Подключаю бпл. В ее коде прописал

initialization
 if not Assigned(GetClass("TfrmEditVar")) then RegisterClass(TfrmEditVar);
finalization
 if Assigned(GetClass("TfrmEditVar")) then UnRegisterClass(TfrmEditVar);

Подгружаю:
FileName := ExtractFilePath(Application.ExeName) + "bpl\EditVar.bpl";
  try
          FPackageHandle := LoadPackage(FileName);
         if FPackageHandle = 0 then begin ShowMessage("!"); RaiseLastWin32Error();end;
       except
           ShowMessage("!!!");
       end;

       frmClass := TFormClass(GetClass("TfrmEditVar"));  - не находит класс
       if not Assigned(frmClass) then
                          begin
                        ShowMessage("DDD");  
                        Exit;
       end;
       frm := TForm(frmclass.Create(nil));
       frm.showmodal;

Подскажите!?


 
Lexer ©   (2006-09-07 10:19) [1]

Build with runtime packages?


 
Frozen   (2006-09-07 10:27) [2]

поставил
Could not create output file: VirtualTreesD7.bpl

как это лечиться?


 
Frozen   (2006-09-07 11:56) [3]

как уже сказал поставил галку Build with runtime packages.
в строке отставил один vcl
скомпилировал. запустил.
теперь сдесь
try
         FPackageHandle := LoadPackage(FileName);
        if FPackageHandle = 0 then begin ShowMessage("!"); RaiseLastWin32Error();end;
      except
          ShowMessage("!!!");
      end;

уходит в эксепшен!?
???


 
Frozen   (2006-09-07 12:12) [4]

заработало!


 
Frozen   (2006-09-07 12:30) [5]

но при закрытии приложения возникает ошибка с памятью! вот весь код главного приложения:

FileName := ExtractFilePath(Application.ExeName) + "bpl\EditVar.bpl";
       try
                 FPackageHandle := LoadPackage(FileName);
                 if FPackageHandle = 0 then begin ShowMessage("!"); RaiseLastWin32Error();end;

       except
           ShowMessage("!!!");
       end;

       frmClass := TFormClass(GetClass("TfrmEditVar"));
       if not Assigned(frmClass) then
                          begin
                            ShowMessage("DDD");
                            Exit;
end;

в чем может быть причина?



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

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.056 c
2-1157113951
vodvorezlaya
2006-09-01 16:32
2006.09.24
Помогите с преобразованием типов данных


1-1155108859
Kiloper
2006-08-09 11:34
2006.09.24
Чем отличается в классах Free от Destroy?


2-1157308879
иван8511
2006-09-03 22:41
2006.09.24
Матричный принтер


2-1157354134
Mamochka
2006-09-04 11:15
2006.09.24
Как посчитать сколько прошло ГГГГ.ММ.ДД


4-1148470794
Nostradamus
2006-05-24 15:39
2006.09.24
моя DLL подгружается другими приложениями