Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
3-1102538410
stalk001
2004-12-08 23:40
2005.01.09
количество строк в dbgride


1-1103805041
Grizly
2004-12-23 15:30
2005.01.09
Pointer на Record... Как вытащить данные?


1-1103789211
syte_ser78
2004-12-23 11:06
2005.01.09
как обьявить переменную?


14-1103632314
Новенький
2004-12-21 15:31
2005.01.09
Задачи


6-1098456202
Лев Ландау
2004-10-22 18:43
2005.01.09
Как взять ичходник страницы с HTTPS




   Наверх