자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------

bpl을 이용한 MDI 방식의 구성에서 DB커넥션의 공유는 어떻게 하는건가요?

 

부모폼에서 fdConnection 의 포인터를 자식품으로 넘겨준 후 처리 하면 될까 했는데 생각대로 되지 않아 문의 드립니다.

 

---------------------------------------<부모폼 소스>-----------------------------------

......

 

procedure TMainForm.PackageLoad(bplFileName: string);
begin
  PackageModule := LoadPackage(bplFileName);


  if PackageModule <> 0 then
  try
    @ExecuteChild := GetProcAddress(PackageModule,'ExecuteChild');
  except
    ShowMessage ('Package not found');
  end;
end;

 

 

procedure TMainForm.FirstForm1Click(Sender: TObject);
begin
  if PackageModule = 0 then PackageLoad('pFirstForm.bpl');

  
  if Assigned(ExecuteChild) then ExecuteChild('string parameter test', @FDConnection1);
end;

 

......

-------------------------------------------------------------------------------------------

 

-----------------------------------------<자식폼 소스>----------------------------------

unit uFirstForm;

 

interface

 

uses
  ......

 

procedure ExecuteChild(pStr: string; pFdConn: Pointer);

 

......

 

var
  fmFirstForm: TfmFirstForm;
  fdConn: ^TFDConnection;

 

......

 

procedure TfmFirstForm.Button2Click(Sender: TObject);
begin
  FDQuery.Connection := fdConn^;

  FDQuery.Close;
  FDQuery.Open;
end;

 

procedure ExecuteChild(pStr: string; pFdConn: Pointer);
begin
  TfmFirstForm.Create(Application);

  new(fdConn);
  fdConn := pFdConn;

end;

exports
  ExecuteChild;

 

......

-------------------------------------------------------------------------------------------

필요한 내용만 발췌하여 소스 첨부하였습니다.  

 

잘못된 부분이나 참조할 만한 자료가 있으면 알려주시면 감사드리겠습니다.

샘플소스도 있다면 더할나위 없겠구요~

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54581
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97989
2119 delphi10 dll 호출시 오류 [1] secret 홍홍홍 2015.12.27 4
2118 [마이그레이션] Panel의 Color 속성이 적용되지 않습니다. file 험프리 2015.12.28 644
2117 listbox의 multiselect 속성 접근 [2] 라드 2015.12.28 393
2116 [xe8] 앱이 항상 켜져있으려면.. [1] 가을이다 2015.12.28 322
2115 not enough space 어떻게해결하나요 [2] 봉봉봉 2015.12.30 689
2114 ## Windows10 최근 업데이트후 TWebbrowser 심각한 문제.. [2] 가을이다 2015.12.31 685
2113 델파이버전업 하면서 이 버그는 고쳐졌을줄 알았는데..... [4] 아놀드 2016.01.04 407
2112 DataSnap Server에 메모리 릭이 발생합니다. [5] 델사냥 2016.01.04 416
2111 IBLite 연결이 잘 안되네요~ [6] file 아놀드 2016.01.07 272
2110 delphi 10에서 사물인터넷관련 개발 [1] 영감땡감 2016.01.07 280
2109 FDConnection1.Params.Values['Database'] := TPath.Combine(TPath.SharedGetDocumentsPath, 'AAA.db') 가 안됩니다. 어려워 2016.01.09 224
2108 바코드로부터 입력과 키보드 입력을 어떻게 구분하나요? [1] from5 2016.01.09 1385
2107 TCppWebBrowser 컴포넌트를 폼에 올리면 Access violation 오류가 발생합니다. file 험프리 2016.01.11 288
2106 IBLite 연결 질문~ [2] file 아놀드 2016.01.11 348
2105 XE10 에서 TOOL 파렛트에 openwire studio 컴포넌트를 사용할려면 어찌해야 하죠 [1] 손오공 2016.01.12 109
2104 Installer for OpenWire (368 MB): OpenWire 7.7.0.0 VCL and FireMonkey 32 & 64 bit support for XE7 to 10 Seattle 을 다운로드해서 설치하였으나 컴포넨트가 보이지 않아요 예를 들어 TOOL 파렛트에 OPENWIRESTUDIO 컴포넌트가 보이던데 (유투브동영상 참조) 전화좀 기다립니다 [1] 손오공 2016.01.12 149
2103 windows 7 , delphi xe5 에서의 LoadLibrary 가 실행되지 않습니다. [1] 쭈니쿤 2016.01.12 735
2102 Edit options font관련건 [1] file 김하나 2016.01.12 114
2101 [문의]Datasnap 와 midas 장단점 초보타출 2016.01.12 286
2100 드래그시 커서,키보드 노출 및 오브젝트 동작에대해서 문의합니다 file 봉봉봉 2016.01.12 157