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

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

안녕하세요.

예전에 waterandfood@nate.com 아이디로 Delphi XE 5를 구매하였습니다.

현재 델파이7(window xp) 작업한 파일들(dll 포함)을 델파이xe5(window7 64bit)로 복사해와서 마이그레이션 중에 있습니다.

결론부터 말씀드리자면 LoadLibrary 함수가 실행이 되지 않는거 같습니다.

델마당이나 구글링을 해봐도 제가 원하는 LoadLibrary에 대한 답은 찾지를 못했습니다.

프로그램 실행순서는 로그인화면에서 로그인후 메인화면이 열립니다.

그전에 알림화면이 있는지 체크하여 알림화면이 있으면 알림화면을 열고 그렇지 않으면 메인화면이 열립니다.

현재는 알림화면이 열려야 하는데 열리지 않습니다. 그리고 메인화면이 보입니다.

메인화면서도 메뉴들을 클릭하면 클릭한 메뉴화면이 열리지 않습니다.(알림화면이 열리지 않듯이)

아래는 LoadLibrary관련 RunDll소스입니다.

 

unit RunDll;
interface
uses
  Windows, SysUtils, Classes, Controls, Forms;
type
  TRunDll = class(TObject)
  private
    { Private declarations }
    FList : TStringList;
    Function LoadDll(DllName:String):Integer;
  public
    { Public declarations }
    Constructor Create;
    Destructor Destroy; override;
    class Procedure Run(ModuleID,DllName:String; Parent:TWinControl; Visible:Boolean);
  End;
implementation
uses
  uSubForm;
var
  FRunDLL : TRunDLL = Nil;
Constructor TRunDll.Create;
Begin
  Inherited Create;
  FList:= TStringList.Create;
End;
Destructor TRunDll.Destroy;
Begin
  FList.Free;
  Inherited Destroy;
End;
Function TRunDll.LoadDll(DllName:String):Integer;
Begin
  showmessage('DllName1 :' + DllName);
  //'DllName1 => C:\Users\Public\Documents\RAD Studio\projects\son_project\son_atp\ALIM_JDJ.DLL'  DllName1값을 잘 나타냅니다.
  

  FList.Clear;
  FList.Add(DllName);
  FList.Values[DllName] := DllName;  
  
  showmessage('DllName2 =>' + FList.Values[DllName]);
  //'DllName2 => C:\Users\Public\Documents\RAD Studio\projects\son_project\son_atp\ALIM_JDJ.DLL'  DllName2값을 잘 나타냅니다.

 

  Result:= StrToIntdef(FList.Values[DllName], -1);


  If Result = -1 then Begin

 

  //xp에서 적용된 소스
  //Result:= LoadLibrary(PChar(DllName));

 

  // windows 7에서 적용된 소스
    Result:= LoadLibrary(PWideChar(WideString(DllName)));

 

    FList.Values[DllName]:= IntToStr(Result);

  End;
End;
class Procedure TRunDll.Run(ModuleID,DllName:String; Parent:TWinControl; Visible:Boolean);
Var
  iHandle : Integer;
  DllFunc : Procedure (ModuleID:String; App:TApplication; Parent:TWinControl; Visible:Boolean); far;
Begin
  If FRunDLL = Nil then FRunDLL:= TRunDLL.Create;
  Try
    iHandle:= FRunDLL.LoadDll(DllName);
    If iHandle > 32 then Begin


      //xp에서 적용된 소스
      //@DllFunc:= GetProcAddress(iHandle, PChar('OpenSubModule'));

 

      // windows 7에서 적용된 소스
      @DllFunc:= GetProcAddress(iHandle, PAnsiChar('OpenSubModule'));


      If @DllFunc <> Nil then
        DllFunc(ModuleID, Application, Parent, Visible);
    End;
  Except
  End;
End;
end.

 

나머지 소스들은 델파이7에서 사용하던 그대로 델파이xe5에 적용중입니다.

 

답변을 부탁드립니다.

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17263
공지 유용한 관련 사이트 관리자2 2014.03.20 56158
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99579
733 Raize BizComps 관련 문의 사항 [1] 김정명 2018.03.13 145
732 델파이 빌드 에러 [2] 웅재 2018.03.15 420
731 Android Target에서 외부 database 2티어 접속 [1] 허준영 2018.03.15 267
730 datasnap 구현 미들웨어 세션 물고 있는 현상 [1] 생각 2018.03.15 310
729 [마이그레이션 세미나] 파이어 몽키 버전으로 마이그레이션 시 고려해야될 사항들이 궁금합니다. 험프리 2018.03.16 100
728 [마이그레이션 세미나] V3에서 BDE충돌이 많아서 BDE말고 다른 방법으로 변경하고 싶습니다. 험프리 2018.03.16 135
727 [마이그레이션 세미나] 마이그레이션 대체 무엇인가 험프리 2018.03.16 131
726 GotoBookmark(pointer(DBGrid2.SelectedRows.Items[i])) 에러... [1] 왕초보 2018.03.16 480
725 델파이xe 10.2 윈도우10 설치시 Editor창 문자열 한글 크기가 너무 작아집니다. [1] file 미스터몽키 2018.03.17 1106
724 안녕하세요 db그리드에서 한글이 물음표로 출력되는것에 대해 질문드리고 싶어요. [4] file vast 2018.03.19 373
723 웹뷰 브라우저 컨트롤 가능한가요? [2] 굿맨 2018.03.20 880
722 안드로이드 앱에서 사진을 찍어 FPT로 올릴 경우의 문제입니다. [4] 노력짱 2018.03.22 299
721 블루투스 송수신 질문이 있습니다. [3] 데브순 2018.03.23 1391
720 델파이 웹에서 exe파일 실행하기 문의드립니다. 알거없잔하용 2018.03.27 617
719 [질문] DX 10.2.3에서 MSVCR90.DLL 오류가 발생합니다. file 델사냥 2018.04.02 369
718 블루투스를 사용하고싶습니다. [1] 쀼뱌라라 2018.04.09 349
717 라인 짤림 현상 문의드립니다. file 돌팅 2018.04.10 313
716 No Platform availabel for current project [1] file 까칠스프 2018.04.12 125
715 xe10.2에서 VKAutoShowMode 가 작동하지 않는 문제 [4] 개발자 2018.04.12 451
714 컴파일 오류 RLink32 : Too many resources to handle [1] SamPark 2018.04.16 457