![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка EAccessViolation in module rtl70.bpl [D7, Win2k]
elected © (2004-12-24 04:02:00)Приветствую ALL !
Работаю с BPL загружаю пакет из EXE все нормально
при выгрузке пакета валится ошибка EAccessViolation in module rtl70.bpl
бьюсь бьюсь ничего не помогает
Помогите кто знаетв чем дело.
Sancho (2004-12-24 08:57:00) [1]Из хелпа по 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;
elected (2004-12-24 04:54:00) [2]Все другого кода нет используется ODAC не ломанный лицензионный
elected (2004-12-24 04:52:00) [3]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('Îøèáêà çàãðóçêè ìîäóëÿ '+LibraryName+#13+'Îáðàòèòåñü ê ñèñòåìíîìó àäìèíèñòðàòîðó',mtError,[mbOK],0);
end;
end
else
begin
MessageDlg('Íå íàéäåí ìîäóëü '+LibraryName+#13+'Îáðàòèòåñü ê ñèñòåìíîìó àäìèíèñòðàòîðó',mtError,[mbOK],0);
end;
finally
UnloadPackage(Handle);
end;
except //Ëîã Èñêëþ÷åíèé
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;
Palladin (2004-12-24 04:49:00) [4]А ты считаешь это вопрос:
"
> Дак BPL настока простая что уже некуда 2 притопа 3 прихлопа. Че деать то?"
elected (2004-12-24 04:40:00) [5]Palladin , ты считаешь это совет ? =-)
"Найти третий притоп, который не учитывается во втором прихлопе"
Palladin (2004-12-24 04:39:00) [6]как хочешь
elected (2004-12-24 04:28:00) [7]Народ мне ща ужене до шуток правда
дайте дельный совет
Palladin (2004-12-24 04:18:00) [8]Найти третий притоп, который не учитывается во втором прихлопе.
elected (2004-12-24 04:17:00) [9]Да если из этого BPL делаешь DLL все отличненько работает
elected (2004-12-24 04:15:00) [10]Дак BPL настока простая что уже некуда 2 притопа 3 прихлопа
Че делать то?
Palladin (2004-12-24 04:12:00) [11]Я знаю. Где то нарушена работа с памятью.