Q&A

  • 오류가나는데 원인을 모르겠어요 EDBEdit 사용법좀 갈켜주세요
일단제가한 소스부터 보여드릴께요.......그리구 제가 한거 압축파일로 올릴께요 보시구 왜 그런건지 갈켜주세요 답답하네요.....이크
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DBCtrls, EDBEdit, Buttons;

type
  TForm2 = class(TForm)
    Btn_Edit: TBitBtn;
    Btn_Cancel: TBitBtn;
    Btn_Save: TBitBtn;
    Btn_Exit: TBitBtn;
    EDBEdit2: TEDBEdit;
    EDBEdit3: TEDBEdit;
    EDBEdit4: TEDBEdit;
    EDBEdit5: TEDBEdit;
    EDBEdit6: TEDBEdit;
    EDBEdit7: TEDBEdit;
    EDBEdit8: TEDBEdit;
    EDBEdit9: TEDBEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    EDBEdit1: TEDBEdit;
    procedure Btn_ExitClick(Sender: TObject);
    procedure Btn_EditClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Btn_ExitClick(Sender: TObject);
begin
close;
end;

procedure TForm2.Btn_EditClick(Sender: TObject);
begin
   TForm2.BtnEnabled_T;          <----------에러 부분인데요---------------->
   EditEnabled_T;
end;

procedure TForm2.BtnEnabled_T(Sender: TObject);
begin
   Btn_Edit.Enabled := False ;
   Btn_Cancel.Enabled := True ;
   Btn_Save.Enabled := True ;
   Btn_Exit.Enabled := False ;
end;
procedure TForm2.EditEnabled_T(Sender: TObject);
begin
   EDBEdit1.Enabled := True ;
   EDBEdit2.Enabled := True ;
   EDBEdit3.Enabled := True ;
   EDBEdit4.Enabled := True ;
   EDBEdit5.Enabled := True ;
   EDBEdit6.Enabled := True ;
   EDBEdit7.Enabled := True ;
   EDBEdit8.Enabled := True ;
   EDBEdit9.Enabled := True ;
end;

procedure TForm2.BtnEnabled_F(Sender: TObject);
begin
   Btn_Edit.Enabled := True ;
   Btn_Cancel.Enabled := False ;
   Btn_Save.Enabled := False ;
   Btn_Exit.Enabled := True ;
end;

procedure TForm2.EditEnabled_F(Sender: TObject);
begin
   EDBEdit1.Enabled := False ;
   EDBEdit2.Enabled := False ;
   EDBEdit3.Enabled := False ;
   EDBEdit4.Enabled := False ;
   EDBEdit5.Enabled := False ;
   EDBEdit6.Enabled := False ;
   EDBEdit7.Enabled := False ;
   EDBEdit8.Enabled := False ;
   EDBEdit9.Enabled := False ;
end;
end.

위에 표시해놓은데서 왜 오류가 나는지 모르겠어요ㅡ.ㅡ;
고수님들은 압축파일 실행해보면 어떤건지 대충아시겠죠
처음 EXE실행파일은 실행해보면 뜨는 창이 수정버튼과 종료버튼은 Enabled := True 취소버튼과 저장버튼은 Enabled := False 이구요 여기서 수정버튼을 한번 클릭하게되면 수정버튼과 종료버튼은 Enabled := False 가되구여 취소버튼과 저장버튼은 Enabled := True 가되거든요 그래서 두개의 그룹으로 만들었어요 처음 그룹은 수정버튼 종료버튼 그리고 두번째 그룹은 취소버튼 저장버튼 EDBEdit 로 했거든요 근데 잘모르겠어요 델파이 공부좀 해보려구 하는데 쉽지 않네요 답답한 마음에 이렇게 도움을 청하게 되었네요 컴포넌트를 추가로 설치를하고 EDBEdit 로 DB를 처리하는 것좀 배워보려구 도서관에가서 이책 저책 다 찾아보았는데 나왔는게 없더군요 혹시 고수님들중에 EDBEdit 에 관한 자료가 있으시면 저에게  좀 주시면 안될까요 아님 책이라두 있으면 저에게 소개좀 부탁드릴께요 답답해서 안되겠어요 책이라두 사서 봐야겠어요. 고수님들 꼭 좀 부탁드릴께요^^;
2  COMMENTS
  • Profile
    소울해커 2004.01.08 22:38
    1. 에러나는 이유는 TForm2.BtnEnabled_T;라는 코드에서 인자가 빠졌기 때문입니다.
       TForm2.BtnEnabled_T라는 프로시져를 보시면 (Sender: TObject) 라는
       인자를 받게 되어 있습니다.
       따라서 마땅한 인자를 넣어주셔야 합니다.

    2. 그리고 다른 프로시져 실행시키는데는
       TForm2.BtnEnabled_T; 가 아니라
       Form2.BtnEnabled_T; 이렇게 하셨어야 되구요.
       같은 폼내에서라면 Form2. 은 쓸 필요도 없습니다.

    3. procedure TForm2.BtnEnabled_T(Sender: TObject); 라는게 어디에 선언 되어 있는 것인지...
       선언되지 않은 프로시져를 사용할 수는 없죠.

    4. 결과적으로 에러 나는 이유는 선언되지 않은 프로시져를 사용한 탓으로 보입니다.

    private // private절에 BtnEnabled_T 프로시저를 선언 해둡니다.
    procedure BtnEnabled_T; // 특별히 인자를 받을 필요가 없으니 인자는 주지 않습니다.

    implementation

    procedure TForm2.Btn_EditClick(Sender: TObject);
    begin
       Form2.BtnEnabled_T;
       EditEnabled_T;
    end;

    procedure TForm2.BtnEnabled_T;
    begin
       Btn_Edit.Enabled := False ;
       Btn_Cancel.Enabled := True ;
       Btn_Save.Enabled := True ;
       Btn_Exit.Enabled := False ;
    end;

    요런 형태가 되어야 옳을 것입니다.
    EditEnabled_T의 부분도 마찬가지로 선언해 두고
    사용하는게 똑 같으니 중복 설명은 하지 않겠습니다.
    이게 원인이 아니면 다시 질문하세요.

  • Profile
    이추형 2004.01.08 22:34

    실제로 위의 명령을  실행하면 아래와 같지 않을까요?
    [Error] Unit1.pas(35): Not enough actual parameters

    즉, (Sender: TObject)의 값이 없어서 나는 에러입니다.
    TForm2.BtnEnabled_T(Self) 라고 바꿔보셔요...
    • 정대만
    • 2004.01.09 05:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2004.01.09 19:34
      작업표시줄 및 시작메뉴속성에 보시면 알림영역에 사용하디 않는 아이콘 숨기기 체크박스가 있고요 사...
    • kht
    • 2004.01.09 04:35
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이종철
      2004.01.09 05:25
      netsh interface ip add dns 입니다. add로 찾아보시길.. 원하시면 소스도 올려드리죠 -_-/
    • kht
      2004.01.09 10:25
      아래와 같이 DNS 삭제 -> Primary DNS - > 보조 DNS 식으로 작업을 했는데요. Primay 와 보조 DNS 잘...
    • 이대봉
      2004.02.07 22:42
      너무 빨리 다음행이 실행되어서 나타나는 현상입니다. sDns := 'netsh interface ip set dns "로컬 영역...
    • 이종철
      2004.01.10 03:16
      선택된 인터페이스의 ip를 변경하는 소스코드입니다. http://peniar.com/devbeta/ipcsrc.exe 이를 받아...
    • 박희경
    • 2004.01.09 04:33
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.01.10 06:13
      안녕하세요. 최용일입니다. 델파이 7에도 gauges.pas 있는데요... ...\Source\Samples 폴더에... gauges...
    • 박희경
      2004.01.10 21:20
    • 김정모
    • 2004.01.09 03:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박동호
    • 2004.01.09 01:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 쭈~우
      2004.01.09 02:11
      LoginPrompt 를 false로 놓으세요.
    • 강지형
    • 2004.01.09 01:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2004.01.09 02:26
      1. 먼저 SDI로 하시고요 2. Child폼의 속성   Alingn => alClient;   BorderS...
    • 홍왕식
    • 2004.01.09 00:32
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2004.01.09 02:46
      그쪽두 안녕하시죠? 저두 예전에 이런질문 많이 올렸었지만... 제일 좋은 책은 직접 서점에 가셔서 눈에 ...
    • 배종윤
      2004.01.13 03:43
      대림출판사 책이 기초에서 고급까지 배울수 있는 좋은 책이라 생각됩니다. 책의 진행도 잘되어 있고 ...
    • 이선주
    • 2004.01.09 00:02
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 김주영
      2004.01.09 01:28
      이부분.. NewItem(Str,0,False,True,MenuItem1Click,0,'MenuItem1'); 에서 마지막 파라미터...
    • 한원희
      2004.01.09 01:57
      안녕하세요. 한원희입니다. Name 속성이 같아서 모두 MenuItem1Click 가 호출되는 것이 아니라, 각 팝업...
    • 쭈~우
      2004.01.09 02:24
      그런데요.. 코스1~코스7까지는 정해진 것이 아니거등요. 센타를 선택해서 코스가 20개가 있을수도 있고 ...
    • 한원희
      2004.01.09 03:13
      안녕하세요. 한원희입니다. 질문의 요지가 Grid2에 있는 항목들을 불러서 Grid1의 팝업에 나타나게 하고...
    • 쭈~우
      2004.01.09 03:40
    • 쭈~우
      2004.01.09 01:46
      그렇게 했는데도 popup창에서의 코스는 전부 불러왔그덩요. 그래서 님께서 찝어주신대로 궁금한 것이 그...
    • 미리내
    • 2004.01.08 22:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장신귀
      2004.01.09 01:19
      PrintMargins 함수를 써보심이 어떠실지... 예전에 제가 짰던 프린트 부분 소스입니다.   ...
    • 이상민
    • 2004.01.08 22:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2004.01.08 22:21
      TWinControl에서 파생된 컴포넌트만이 ActiveX 컨트롤이 될 수 있으며 그말은 곧 TWinControl에서 파생되...
    • 조영환
    • 2004.01.08 21:28
    • 2 COMMENTS
    • /
    • 1 LIKES
    • 소울해커
      2004.01.08 22:38
      1. 에러나는 이유는 TForm2.BtnEnabled_T;라는 코드에서 인자가 빠졌기 때문입니다.    TForm2....
    • 이추형
      2004.01.08 22:34
      실제로 위의 명령을  실행하면 아래와 같지 않을까요? [Error] Unit1.pas(35): Not enough ac...
    • ^^!
    • 2004.01.08 21:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2004.01.08 22:26
      TextOut에서 X, Y는 글자가 쓰여질 X축 값과 Y축 값을 말합니다. X가 100이고 Y가 200이면 아래 코드에선...
    • 김경운
    • 2004.01.08 19:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2004.01.08 22:23
      그거 이미지라이브러리에 있는 컴포인뎅....스카이 라인인가 회사가 그렇거든여 함 구해 깔아보세여.....
    • 한원희
      2004.01.09 01:15
      안녕하세요. 한원희입니다. aaa := aaa or $00000340; 이렇게 하면, 최하위 1바이트의 8비트와 그다...
    • 최용일
      2004.01.10 15:11
      안녕하세요. 최용일입니다. 이름으로 봐선 메모리 할당하는 함수 같은데... GetMem, New, AllocMem등의 ...
    • 이종철
    • 2004.01.08 09:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이종철
      2004.01.08 09:27
      자답입니다. ;; 아까까지 계속안보이다가 (눈이 나쁜듯..) 소스보니 TThread.ThreadProc에서 FreeOnTerm...
    • 미리내
    • 2004.01.08 05:27
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2004.01.09 02:18
      막대그래프 시리즈 옵션중에 [Stack] 탭을 누르시면 거기서 Multibar 옵션중 None으로 하심 될거에요
    • 소울해커
      2004.01.08 23:02
      ChartType에 7 - VtChChartType2dStep 이라는 타입이 있습니다. 해당 타입으로 하고 컬럼을 조정해주면 가...
    • 소울해커
      2004.01.08 21:50
      type TImageComp = class(TImage)   ... ... ... ... 뭐... 이런형태로 TImage를 상속받는...