Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизОшибка 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("Îøèáêà çàãðóçêè ìîäóëÿ "+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;
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c