我现在的做法是这样的,把EXE中的SESSION传到DLL中去,调DLL时可以把连接传到dll,dll也能正常退出,但是在调试环境下当退出主程序时(EXE),就会出现'ACCESS VIOLATION AT 0X77F6CCE2'的错误,不在调试环境下不会。我知道EXE和DLL如果都用Runtime packages,就可以共享数据连接,问题是如果不用Runtime packages要怎么做,以下是我的代码,大侠帮忙分析一下,问题解决100分送上。
EXE:
begin
  Database2.Connected := true;
  begin
    moudle := loadlibrary('Project2.dll');
    try
      if moudle = 0 then
      begin
        application.MessageBox(pchar('模块' + '' + DllName + '' + '目前正在开发中...'), '系统提示', mb_ok +
          mb_iconwarning);
        exit;
      end;
      @showdll := getprocaddress(moudle, 'showdll');
      showdll(application, session, Database2);
    finally
      freelibrary(moudle);
    end;
  end;
end;
DLL中的代码:
begin
session:=AppSessions ;
  Form2 := Tform2.create(application);
  try
    Form2.ShowModal;
  finally
    Form2.Free;
  end;
end;