◀ PREV : [1] : [2] : [3] : [4] : [5] : ... [128] : NEXT ▶
이거 설치한다고 3일 걸렸다. T.T

너무 짜증이 나서 적어둔다.
나중에 또 잊어버리고 버벅거릴까봐서.

1) 먼저 2010용 ZEOS를 다운로드 받는다.
    http://sourceforge.net/projects/zeoslib/files/Zeos%20Database%20Objects/
    위 사이트에서 zeosdbo-7.0.0-alpha를 다운받는다.
    2010에서 ZEOS를 쓰려면 알파버전이지만 이것을 쓰는 방법밖에는 없는 것같다.

2) 압축을 풀고 압축을 푼 데이터를 아래 폴더에 복사한다.
    C:\Program Files\Embarcadero\RAD Studio\7.0\lib\ZeosLib
     (당연한 이야기지만 위 폴더는 사용자 마다 틀릴 수 있다.)

3) packages 폴더의 delphi14에 들어가
    ZeosDbo.groupproj 파일을 연다.

4) 델파이의 프로젝트 메니저의 ZeosDbo 그룹명에서 오른쪽 클릭을 하여
    Compile All을 한다.

5) 다시 ZeosDbo 그룹명에서 오른쪽 클릭을 하여
    Build All을 한다.

6) Delphi menu의 Tools > Options...를 선택하면 아래의 창이 표시된다.

Environment Options > Delphi Options > Library - Win32에서 Library를 선택하면
오른쪽에 Directories가 표시된다.

거기서 Library path 아래의 path를 입력한다.

    $(BDS)\Lib\ZeosLib\packages\delphi14\build
     (당연한 이야기지만 위 폴더는 사용자 마다 틀릴 수 있다.)

7) ZComponentDesign140.bpl에서 오른쪽을 클릭하여 Install을 해서 문제가 없으면 끝

그런데 여기서 문제없이 끝나주면 아주 행복한데
여기서 에러가 뜨기 시작해서 부터 이틀이 흘렀다.

보통 에러가 bpl을 찾을 수 없다고 한다.
그런데 웃기는 것은 에러 메세지 창의 표시된 폴더에는 bpl이 있다.
그럼 왜 이 문제가 생기는 것일까?

그것은 아래 그림의 빨강 테두리의 버튼을 눌러보면 알 수 있다.


버튼을 누르면 아래의 창이 뜬다.


저 빨강 테두리의 폴더 안에 작성한 BPL이 들어가 있어야지만 ZComponentDesign140.bpl을 인스톨 할 수 있다.


위 문제만 금방 해결되었으면 예전보다 ZeosLib 설치하는 것이 편해진 것같다.

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

우리나라 홈페이지에서 이 정보를 열심히 찾아도 델마당에만 힌트가 조금 적혀있었다.
결국 이 수순은 유럽 말로 적혀있는 홈페이지를 보고 대략적인 수순을 이해하고

http://www.delphiaccess.com/forum/delphi/logre-instalar-zeos-7-en-delphi-2010/

그리고 에러가 나는 문제는 일본어로 적어둔 내용을 보고 알게되었다.

http://www.freeml.com/delphi-users/1163/latest

혹시 나처럼 고민하는 한국사람이 있을 것 같아서 적어본다.

이런 것을 설치하는데 걸리는 시간이 가장 아깝다.

Posted by 떡잎

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellApi, Menus;

const
  WM_NOTIFYICON = WM_USER + 333;

type
  TForm1 = class(TForm)
    PopMenu: TPopupMenu;
    Show1: TMenuItem;
    EXit1: TMenuItem;
    procedure EXit1Click(Sender: TObject);
    procedure Show1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    NotifyIcnData : TNotifyIconData;
    hMainIcon : HICON;

    procedure ClickTrayIcon(var msg: TMessage); message WM_NOTIFYICON;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

// System Tray에 Icon의 Event 수신
procedure TForm1.ClickTrayIcon(var msg: TMessage);
var
    pt: TPoint;
begin
  case msg.lparam of
    WM_LBUTTONDBLCLK : Show;
    WM_RBUTTONDOWN :
      begin
        GetCursorPos(pt);
        PopMenu.Popup(pt.x, pt.y);
      end;
  end;
end;

procedure TForm1.EXit1Click(Sender: TObject);
begin
  Application.Terminate;
end;

// Form Close 했을 때
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caNone;
  Hide; // Form 숨기기
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // System Tray에 Icon 표시
  hMainIcon := LoadIcon(MainInstance, 'MAINICON');

  Shell_NotifyIcon(NIM_DELETE, @NotifyIcnData);

  with NotifyIcnData do
  begin
    cbSize            := sizeof(TNotifyIconData);
    Wnd               := handle;
    uID               := 11111;
    uFlags            := NIF_MESSAGE or NIF_ICON or NIF_TIP;
    uCallbackMessage  := WM_NOTIFYICON;
    hIcon             := HMainIcon;
    szTip             := 'System Tray Test';
  end;

  Shell_NotifyIcon(NIM_ADD, @NotifyIcnData);
end;

procedure TForm1.Show1Click(Sender: TObject);
begin
  Show;
end;

end.




Posted by 띠리
BLOG main image
프로그래밍 공부하면서 써가는 개인 노트 (따라서 여기에 씌여있는 소스의 신빙성을 보장 못함 -.-;;) 이 블로그 보면서 틀린 점이 있으면 꼬옥 알려주세요. by 띠리

공지사항

카테고리

분류 전체보기 (255)
Win32 SDK 초보 (27)
통신관련 (13)
MFC TIP (20)
C/C++ TIP (10)
개발기타 (9)
링크 (2)
견물생심 (24)
이것저것 (7)
용어메모 (3)
데이터베이스 (26)
비주얼 베이직 (10)
하드웨어 (1)
C# (0)
델파이 (82)
홈페이지 (5)
낙서 (5)
기타 (4)
Total : 343,288
Today : 3 Yesterday : 232