Q&A

  • 통상적인 자작 컴포넌트나 패키지의 위치는?
좋은 저녁입니다.. ^^*



자작 컴포넌트나 제 3자 컴포넌트나 패키지 같은 것들을 통상적으로



어디에 놔두면 좋을까요? 별거 아닌데.. 되게 고민되네요...



그냥 그런게 혹시 있나 싶어서... 있으면 따르는게 좋을 거 같아서요..



그럼..

4  COMMENTS
  • Profile
    이호선 1999.04.29 06:02
    안녕하세요.

    별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도

    이전설정된 프린트장치에서 프린트됩니다. 간단히 루틴은 다음과 같습니다.



    if PrinterSetupDlg.Execute = True then

    begin

    try

    MsWord := CreateOleObject('Word.Basic');

    except

    ShowMessage('MS-Word를 시작할수 없습니다.');

    end;

    MSWord.FileOpen(GFileName);

    MSWord.FilePrint;

    MSWord.FileExit;

    end;



    원인을 알려 주시면 감사하겠습니다.



  • Profile
    이정욱 1999.07.10 20:44
    통상적인것이라기 보다는 제가 사용하는 방법을 말씀드리죠.

    전 Component라는 디렉토리를 따로 루트디렉토리에 만듭니다.

    그곳에 제3자 컴포넌트들을 집어넣어 둡니다.

    사실은 이 방식을 옛날 델파이 16비트시절(라이브러리 서치패스의 길이가 제한이 있을때)에 사용한 방식입니다.

    그리고 32비트때는 한술 더 떠서 필요한 컴포넌트를 설치하고 DPK로 따로 저장을 해둡니다. 그 디렉토리에 말이죠. 프로젝트때마다 필요한 컴포넌트가 틀리니까 매번 설치하기 번거롭자나요.

    그래서 필요한것만 딱 설치하고 그 프로젝트 이름으로 DPK로 저장을 해둡니다.

    그리고 다른 프로젝트할때는 다시 다 제거하고 또 그 프로젝트에 필요한것만 설치해서 다른 DPK로 저장을 해두죠.

    그래놓은 후에 그 프로젝트를 다시 수행해야할 경우가 생기면 그 DPK만 열어서 Install버튼만 누르면 그대로 다시 올라가죠.

    저는 이방식을 선호합니다.

    Component라는 디렉토리 밑에 각 컴포넌트 이름을 가진 디렉토리를 만들어서 집어 넣어놓는것도 좋은 방법주에 하나겠죠? 델파이3버전부터는 서치패스길이가 거의 제한이 없다고봐도 좋으니까요.. ^^



    한승협 께서 말씀하시기를...

    > 좋은 저녁입니다.. ^^*

    >

    > 자작 컴포넌트나 제 3자 컴포넌트나 패키지 같은 것들을 통상적으로

    >

    > 어디에 놔두면 좋을까요? 별거 아닌데.. 되게 고민되네요...

    >

    > 그냥 그런게 혹시 있나 싶어서... 있으면 따르는게 좋을 거 같아서요..

    >

    > 그럼..





  • Profile
    이정욱 1999.04.29 21:53
    제가 만든 기본프린터 바꾸는 함수 입니다.

    참고하시구요... 이것은 프린터 이름의 일부만 넣어줘도 됩니다.



    procedure TMainForm.SetDPrinter(PrnStr : String);

    var

    WinIni : TIniFile;

    WinIniFileName : array[0..MAX_PATH] of char;

    s : array[0..64] of char;

    i : integer;

    pDevice : array[0..31] of Char;

    pDevice2 : array[0..31] of Char;

    pDriver : array[0..259] of Char;

    pPort : array[0..259] of Char;

    DeviceMode : THandle;



    begin

    //프린터를 세팅하는 함수.

    for i := 0 to Printer.Printers.Count - 1 do

    If Pos(PrnStr,Printer.Printers[i]) > 0 then Break;



    If (Printer.Printers.Count - 1 < i) then

    begin

    ShowMessage('프린터이름이 없습니다.');

    Exit;

    end;

    If (Printer.PrinterIndex <> i) then

    begin

    printer.PrinterIndex := -1;

    Devicemode:=0;

    printer.getprinter(pdevice2,pDriver,pPort,DeviceMode);



    Printer.PrinterIndex := i;

    Devicemode:=0;

    printer.getprinter(pdevice,pDriver,pPort,DeviceMode);



    If StrPas(pDevice) <> StrPas(pDevice2) then

    begin

    GetWindowsDirectory(WinIniFileName, sizeof(WinIniFileName));

    StrCat(WinIniFileName, 'win.ini');

    WinIni := TIniFile.Create(WinIniFileName);

    try

    WinIni.WriteString('windows',

    'device',

    StrPas(pdevice)+','+StrPas(pDriver)+','+StrPas(pPort));

    finally

    WinIni.Free;

    end; //Try



    StrCopy(S, 'windows');

    SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@S));

    Application.ProcessMessages;

    Delay(1000);

    end;

    end;

    end;





    이호선 wrote:

    > 안녕하세요.

    > 별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도

    > 이전설정된 프린트장치에서 프린트됩니다. 간단히 루틴은 다음과 같습니다.

    >

    > if PrinterSetupDlg.Execute = True then

    > begin

    > try

    > MsWord := CreateOleObject('Word.Basic');

    > except

    > ShowMessage('MS-Word를 시작할수 없습니다.');

    > end;

    > MSWord.FileOpen(GFileName);

    > MSWord.FilePrint;

    > MSWord.FileExit;

    > end;

    >

    > 원인을 알려 주시면 감사하겠습니다.

    >





  • Profile
    안치봉 1999.04.29 07:10
    이호선 wrote:

    > 안녕하세요.

    > 별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도

    > 이전설정된 프린트장치에서 프린트됩니다. 간단히 루틴은 다음과 같습니다.

    >

    > if PrinterSetupDlg.Execute = True then

    > begin

    > try

    > MsWord := CreateOleObject('Word.Basic');

    > except

    > ShowMessage('MS-Word를 시작할수 없습니다.');

    > end;

    > MSWord.FileOpen(GFileName);

    > MSWord.FilePrint;

    > MSWord.FileExit;

    > end;

    >

    > 원인을 알려 주시면 감사하겠습니다.

    >



    안녕하세요.



    위소스를 보니... ole 객체자체에서 지원하는 프린트루틴을 사용하는군요..

    그렇다면 아마도 위소스처럼 기본프린터를 변경시켜도 그 내용이 적용되지 않을 가능성이 많습니다. - 참고로 프로그램에서 기본프린터를 바꾸어도 그 프로그램이 종료되면 원래의 값으로 프린터가 설정됩니다.



    확실한건 아닙니다. -.-;;



    • 강민정
    • 1999.04.29 20:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • rain
      1999.04.30 02:09
      Form만 불러오는 소스를 가지고는 어떤 에러인지는 정확히 모르겠습니다. 물론 모든 소스를 보여달라는 것...
    • 이상주
    • 1999.07.10 22:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 정정례
      1999.04.29 19:35
      가상Key번호 중에서 PageUp과 PageDown번호를 알려주세요
    • 신인재
      1999.04.29 19:44
      정정례 wrote: > 가상Key번호 중에서 PageUp과 PageDown번호를 알려주세요 천랸 PDSPF에서 퍼 왔습니다...
    • 이창남
      1999.07.10 22:28
      DBGrid에 직접 데이터 입력할 경우.. Post가 일어나기 전에 특정 컬럼의 값을 체크하려고 합니다.. Dat...
    • 안치봉
      1999.04.29 19:36
      장 아무개 wrote: > 답변중에 > 집합형이라고 하셨는데 > printer_DBGrid.Options.dgRowLines := true ...
    • 정정례
      1999.04.29 19:35
      가상Key번호 중에서 PageUp과 PageDown번호를 알려주세요
    • 신인재
      1999.04.29 19:44
      정정례 wrote: > 가상Key번호 중에서 PageUp과 PageDown번호를 알려주세요 천랸 PDSPF에서 퍼 왔습니다...
    • Kinjecs
    • 1999.07.10 20:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 송동일
      1999.04.29 18:55
      안녕들 하신가요? 어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다. 공식이 영구적이라면 프...
    • 나노시스
      1999.07.14 00:22
      Kinjecs 께서 말씀하시기를... > 한컴퓨터에 어느 한 DB 가 있습니다... > lan으로 연결된 다른컴퓨터들...
    • 김영대
      1999.04.29 19:14
      송동일 wrote: > 안녕들 하신가요? > 어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다. > ...
    • 성병규
    • 1999.07.10 19:41
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 송동일
      1999.04.29 18:55
      안녕들 하신가요? 어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다. 공식이 영구적이라면 프...
    • 안치봉
      1999.07.10 20:32
      안녕하세요. 여러가지 방법이 있겠죠... 맞는지는 모르겠지만... 그리 큰 데이타가 아니라면 저 같은...
    • 김영대
      1999.04.29 19:14
      송동일 wrote: > 안녕들 하신가요? > 어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다. > ...
    • 김봉재
    • 1999.04.29 18:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.29 22:15
      잠깐 Command프롬프트로 가셔서 그 BORDBP40.DLL이 있는 디렉토리로 이동하신 후에 Regsvr32 BORDBK40.DLL ...
    • 강경중
    • 1999.07.10 15:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정재홍
      1999.07.10 18:24
      강경중 께서 말씀하시기를... > 아래에 있는 내용을 사용했는데요... > with QRCompositeReport1 do > b...
    • 이누리
    • 1999.04.29 18:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • mephy
      1999.04.29 22:31
      이누리 wrote: > 안녕하세요 > > 각 Form 에서 SelectNext 를 사용한 경우 Error 가 나지 않았는데 > ...
    • 최석기
      1999.07.10 17:45
      최혁진 께서 말씀하시기를... > 특정 데이터베이스 파일내에 존재하는 테이블들의 리스트를 델파이 프로그...
    • 안치봉
      1999.04.29 19:36
      장 아무개 wrote: > 답변중에 > 집합형이라고 하셨는데 > printer_DBGrid.Options.dgRowLines := true ...
    • 궁금이
    • 1999.07.10 04:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.07.10 20:23
      안녕하세요. 제가 만든 간단한 콤포넌트가 있는데 한델 자료실에 올려드리죠^^; 궁금이 께서 말씀하...
    • 한승협
    • 1999.07.10 04:09
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.04.29 06:02
      안녕하세요. 별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도 이전설정된 프린트장치...
    • 이정욱
      1999.07.10 20:44
      통상적인것이라기 보다는 제가 사용하는 방법을 말씀드리죠. 전 Component라는 디렉토리를 따로 루트디렉...
    • 이정욱
      1999.04.29 21:53
      제가 만든 기본프린터 바꾸는 함수 입니다. 참고하시구요... 이것은 프린터 이름의 일부만 넣어줘도 됩니...
    • 안치봉
      1999.04.29 07:10
      이호선 wrote: > 안녕하세요. > 별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도 > ...
    • 이호선
    • 1999.04.29 06:31
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 장일형
      1999.07.10 03:54
      델파이로 특정 디렉토리를 지우지 못하게 하고 그 디렉토리에 있는 파일을 볼 수 없도록 할 수 있나요? P...
    • 안치봉
      1999.04.29 07:03
      이호선 wrote: > 안녕하세요. > Drag&Drop내용이 델파이 강의에 있다하는데 어디인지 못찾겠는데요. > ...
    • 이호선
    • 1999.04.29 06:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.29 07:03
      이호선 wrote: > 안녕하세요. > Drag&Drop내용이 델파이 강의에 있다하는데 어디인지 못찾겠는데요. > ...
    • 구창민
      1999.07.10 12:01
      Termy 께서 말씀하시기를... > 소켓통신으로 다른 컴퓨터에 파일전송하고 저장하고 싶은데 > 소켓으로 파...
    • 김종환
      1999.07.13 06:09
      구창민 께서 말씀하시기를... > Termy 께서 말씀하시기를... > > 소켓통신으로 다른 컴퓨터에 파일전송하...
    • 구창민
      1999.07.13 08:30
      김종환 께서 말씀하시기를... > 구창민 께서 말씀하시기를... > > Termy 께서 말씀하시기를... > > > 소...
    • 김종환
      1999.07.13 13:41
      > 김종환님 구창민입니다. > 죄송합니다. 게시판의 번호가 변하는 줄 몰랐었습니다. > 아래를 주소를 복...