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

Вниз

Ошибка EAccessViolation in module rtl70.bpl   Найти похожие ветки 

 
elected ©   (2004-12-24 04:02) [0]

Приветствую ALL !
Работаю с BPL загружаю пакет из EXE все нормально
при выгрузке пакета валится ошибка EAccessViolation in module rtl70.bpl
бьюсь бьюсь ничего не помогает
Помогите кто знаетв чем дело.


 
Palladin ©   (2004-12-24 04:12) [1]

Я знаю. Где то нарушена работа с памятью.


 
elected ©   (2004-12-24 04:15) [2]

Дак BPL настока простая что уже некуда 2 притопа 3 прихлопа
Че делать то?


 
elected ©   (2004-12-24 04:17) [3]

Да если из этого BPL делаешь DLL все отличненько работает


 
Palladin ©   (2004-12-24 04:18) [4]

Найти третий притоп, который не учитывается во втором прихлопе.


 
elected ©   (2004-12-24 04:28) [5]

Народ мне ща ужене до шуток правда
дайте дельный совет


 
Palladin ©   (2004-12-24 04:39) [6]

как хочешь


 
elected ©   (2004-12-24 04:40) [7]

Palladin , ты считаешь это совет ? =-)
"Найти третий притоп, который не учитывается во втором прихлопе"


 
Palladin ©   (2004-12-24 04:49) [8]

А ты считаешь это вопрос:
"
> Дак BPL настока простая что уже некуда 2 притопа 3 прихлопа. Че деать то?"


 
elected ©   (2004-12-24 04:52) [9]

EXE


procedure TForm1.Button1Click(Sender: TObject);
type
 TLibraryDLL = procedure(Orases:TOraSession);
var
 Handle:THandle;
 LibraryDLL:TLibraryDLL;
 LibraryName,LibaryProcedure:Pchar;
begin
try //Ëîã Èñêëþ÷åíèé
 try
   LibraryName:="Package1.BPL";
   LibaryProcedure:="ExternalDLL";

   Handle := LoadPackage(LibraryName);
   if Handle <> 0 then
   begin
     @LibraryDLL := GetProcAddress(Handle,LibaryProcedure);
     if @LibraryDLL <> nil then
     begin
       if OraSes.Options.Net then OraSes.Disconnect;
       LibraryDLL(OraSes);
       if OraSes.Options.Net then OraSes.Connect;
     end
     else
     begin
       MessageDlg("&#206;&#248;&#232;&#225;&#234;&#224; &#231;&#224;&#227;&#240;&#243;&#231;&#234;&#232; &#236;&#238;&#228;&#243;&#235;&#255; "+LibraryName+#13+"&#206;&#225;&#240;&#224;&#242;&#232;&#242;&#229;&#241;&#252; &#234; &#241;&#232;&#241;&#242;&#229;&#236;&#237;&#238;&#236;&#243; &#224;&#228;&#236;&#232;&#237;&#232;&#241;&#242;&#240;&#224;&#242;&#238;&#240;&#243;",mtError,[mbOK],0);
     end;
   end
   else
   begin
     MessageDlg("&#205;&#229; &#237;&#224;&#233;&#228;&#229;&#237; &#236;&#238;&#228;&#243;&#235;&#252; "+LibraryName+#13+"&#206;&#225;&#240;&#224;&#242;&#232;&#242;&#229;&#241;&#252; &#234; &#241;&#232;&#241;&#242;&#229;&#236;&#237;&#238;&#236;&#243; &#224;&#228;&#236;&#232;&#237;&#232;&#241;&#242;&#240;&#224;&#242;&#238;&#240;&#243;",mtError,[mbOK],0);
   end;
 finally
   UnloadPackage(Handle);
 end;
except //&#203;&#238;&#227; &#200;&#241;&#234;&#235;&#254;&#247;&#229;&#237;&#232;&#233;
 on E: Exception do
 begin

 end;
end;
end;


BPL


 procedure ExternalDLL (OraSesion:TOraSession);

var
 Form2: TForm2;

exports ExternalDLL;  

implementation

{$R *.dfm}

procedure ExternalDLL (OraSesion:TOraSession);
begin

   Form2:=TForm2.Create(Application);
   Form2.OraSession1.AssignConnect(OraSesion);
   Form2.ShowModal;
end;


 
elected ©   (2004-12-24 04:54) [10]

Все другого кода нет используется ODAC не ломанный лицензионный


 
Sancho ©   (2004-12-24 08:57) [11]

Из хелпа по TCustomForm.OnClose:
If a form is an SDI child form, Action defaults to caHide.
Т.е. Form2 стала просто невидимой. Надо написать:

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Action:= caFree;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.04 c
14-1103282454
TUser
2004-12-17 14:20
2005.01.09
Никому монитор не нужен?


8-1096993960
dron-s
2004-10-05 20:32
2005.01.09
Размер картинки


1-1103615593
race1
2004-12-21 10:53
2005.01.09
перенос


1-1103785522
Jeka
2004-12-23 10:05
2005.01.09
Вопрос по настройке D2005


3-1102521643
Goga
2004-12-08 19:00
2005.01.09
Как получить выборку из MSAccess