Главная страница
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.046 c
15-1156343106
TUser
2006-08-23 18:25
2006.09.24
Каковы причины Первой Мировой Войны?


2-1157101444
nikv
2006-09-01 13:04
2006.09.24
GetFileSize


2-1157190932
Id
2006-09-02 13:55
2006.09.24
Маска в StringGrid-e


15-1157516076
SergP
2006-09-06 08:14
2006.09.24
О переводе имен и фамилий.


15-1157465777
GuAV
2006-09-05 18:16
2006.09.24
После Delphi, не могу осмыслить обработку исключений в С++