Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

подключаю bpl


Frozen ©   (2006-09-07 09:10:00) 

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

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;

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


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

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

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;

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


Frozen   (2006-09-07 12:12:00) [2]

заработало!


Frozen   (2006-09-07 11:56:00) [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 10:27:00) [4]

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

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


Lexer   (2006-09-07 10:19:00) [5]

Build with runtime packages?


Наверх

Титульная страница Поиск, карта сайта Написать письмо