Q&A

  • 임의의 form을 실행하려면 어떻게 해야...?
몇개의 실행파일로 나뉘어졌던 수백개의 모듈을 하나로 통합하는 작업을 하고 있습니다.

요는, 프로그램 등록하는 폼과 DB를 만들어서 그것을 연동하여 분야별 프로그램리스트가
쫘악 뜨고 그것을 클릭하면 해당 폼이 실행되야 합니다.

헌데...

될 줄 알았던  

procedure TTopMenufm.SpeedButton1Click(Sender: TObject);
var T_Form : TForm;
begin
T_Form := TForm(FindComponent((Sender As TSpeedButton).Hint+'fm'));
T_Form := T_Form.Create(Self);
T_Form.ShowModal;
T_Form.Free;
end;

요것이 안먹네요...
(참고로 프로그램 목록을 쿼리해서 스피드버튼에 모듈명,제목 등을 저장했거든요)

결론은 버튼을 클릭하여 정해지지 않은 폼을 실행시키려고 하는데... 답이 없나요...?
빠른 답변 좀 부탁드립니다...  
2  COMMENTS
  • Profile
    최용일 2005.11.08 00:48
    안녕하세요. 최용일입니다.

    FindComponent는 자식컴포넌트 그러니까 폼내의 컴포넌트를 찾기위해 쓰이는것니가 이걸로는 힘들구요...

    사용하실려고 하는 폼들을 RegisterClass/RegisterClasses함수로 등록하신뒤에 GetClass함수로 객체의 형을 찾아서 인스턴스를 만들어서 사용하시면 됩니다....

    <!--CodeS-->
    RegisterClasses([TForm2, TForm3, ........, 사용할폼목록들]); ==> 단한번만 호출하시면 됩니다...

    procedure TTopMenufm.SpeedButton1Click(Sender: TObject);
    var
      FormClass: TFormClass;
      Form: TForm;
      FormName: string;
    begin
      FormName := (Sender As TSpeedButton).Hint+'fm';
      FormClass:= TFormClass(GetClass(FormName));
      if FormClass<> nil then
      begin
        Form := FormClass.Create(Self);
        Form.ShowModal;
        Form.Free;
      end
      else
        ShowMessage('폼없다... 먼저 등록해...');
    end;
    <!--CodeE-->

    ^^ 항상 즐코하세요...

  • Profile
    모영철 2005.11.08 00:19
    추측해보건데..

    원하시는 작업을 하시려면 먼저 모든 폼을 미리 Create 해주셔야 할거 같구요..

    T_Form := nil;
    T_Form := TForm(FindComponent((Sender As TSpeedButton).Hint+'fm'));
    T_Form.ShowModal;

    이런 추측을 해봅니다.

    • 우종복
    • 2005.11.09 16:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • HEIM(델파리)
      2006.08.24 21:07
      잡아 놓은 화면에 대한 처리하기 원하시는 라인에 대한 scanline을 해보셔요.
    • 이복만
    • 2005.11.09 06:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 프리란서
      2005.11.09 07:05
      각자의 환경들이 다르니 이게 답이 될지는 모르겠습니다만 예전에 그런일이 있었습니다. 그때 나의 문제는...
    • 이영동
    • 2005.11.09 01:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 고금순
      2006.04.25 02:20
    • 최용일
      2005.11.09 02:30
      안녕하세요. 최용일입니다. Access Violation에러가 나는것을 보면... 아마도 DBGrid1.Fields[0].Value;...
    • 김현우
    • 2005.11.08 22:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2005.11.11 20:39
      개발툴이 델파이 라면 파이어버드 추천합니다 파이어버드는 RDB라 조인이나 기타 쿼리문으로 데이터 처리...
    • 설레임
    • 2005.11.08 21:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정근
      2005.11.08 22:12
      제어판 전원관리에서 최대절전모드 탭에서 체크 해제해야 되는데.. 프로그램으로는 모르겠네요.. 체크 해...
    • 좋은나무
      2005.11.08 09:06
      사용하시는 DB의 종류와 버전 그리고 해당 이미지 데이타를 저장하는 데이타 타입그리고 저장하실때 사용...
    • 희아빠
      2005.11.09 23:15
      관심을 가지시고 답변을 주심에 감사합니다 DataBase : MSSQL 2000 Server 이미지의 데이타 타입 : image...
    • 델파이-델짱
      2005.11.10 00:23
      아래 처럼 해보세요.^^; var     BitmapImage : TJPEGImage;    &n...
    • 최영식
    • 2005.11.08 03:15
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박지용
      2005.11.08 05:02
      Zeos는  libmysql.dll을 사용해서 MySQL을 Access합니다. 그런데, Zeos final version이 ...
    • 최영식
      2005.11.09 08:03
      답변에 정말 감사드립니다. 그런데 Zeos의 Protocol에 보면 4.1까지 밖에 없네요 5.X대를 사용할려면 무...
    • 박지용
      2005.11.11 03:40
      네, Zeos MySQL Version은 Protocol은 4.1로 사용하시면 됩니다. MySQL 5.x의 \bin\libmysql.dll ...
    • 최영식
      2005.11.12 05:54
      관심 어린 답변에 감사 드립니다.
    • 프리란서
      2005.11.08 18:14
      이건 정답은 아닙니다. 그저 참고 하시라고 적는겁니다. 아실지 모르겠으나 Edit에서는 다음과 같이 하...
    • 권민수
    • 2005.11.07 23:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.11.08 00:48
      안녕하세요. 최용일입니다. FindComponent는 자식컴포넌트 그러니까 폼내의 컴포넌트를 찾기위해 쓰이는...
    • 모영철
      2005.11.08 00:19
      추측해보건데.. 원하시는 작업을 하시려면 먼저 모든 폼을 미리 Create 해주셔야 할거 같구요.. T_Fo...
    • 김소연
    • 2005.11.07 23:43
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 모영철
      2005.11.08 00:23
      var   aoc : Array[0..5] of char;   Str : String; .. ..    str :=...
    • 김소연
      2005.11.08 00:47
      그렇게 바로 대입하니. 제가 원하는 값이 들어가지 않아서 말이져.. 배열의 있는 HEX 값들이 스트링으로...
    • 모영철
      2005.11.08 02:38
      아 그러면 배열이 char가 아니라 혹시 byte배열인가요? move 테스트 해봤는데 에러가 팡팡 나오네요..안...
    • 최용일
      2005.11.08 00:50
      안녕하세요. 최용일입니다. 아래와 같이 해보세요.... <!--CodeS--> var    ...
    • 김소연
      2005.11.09 00:51
      말씀하신것처럼 해보았는데요... 속도가 아주 늦는데요 디버그를 떠보니.. move행에서 시간이 아주 많...
    • 최용일
      2005.11.09 02:17
      안녕하세요. 최용일입니다. 글쎄요... 1M짜리 배열 테스트해봐도 0.01초도 안걸리는데... 어찌된 일일까...
    • 델파인
    • 2005.11.07 23:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.11.08 00:53
      안녕하세요. 최용일입니다. 크게 2가지 방법이 있겠네요... 이미지(TImage)나 비트맵(TBitmap)객체에...
    • 박지용
      2005.11.08 05:19
      레지스트리 값으로만으로는 할 수 없습니다. 학교에서 사용하던 것은 하드디스크 미러링 솔루션이 장...
    • 최용일
      2005.11.08 00:58
      안녕하세요. 최용일입니다. JPEG와 같이 이미지를 압축하는 포멧을 이용하는 방법... ==> 어느정도 ...
    • 임우식
      2005.11.08 01:25
    • 박정훈
      2005.11.07 23:01
      바코드 스캐너 때문에 저두 일전에 여러 모델들을 찾아본적이 있습니다.  4만원대의 저가형에...
    • 김연재
    • 2005.11.07 00:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 공성환
      2005.11.07 18:59
      예전에 사용했던코드입니다. 참고해보세요... unit Unit1; interface uses   Windows,...
    • 김현철
    • 2005.11.05 23:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 우소
      2005.11.07 19:35
      정확히 무슨 말인지 이해가 안가는데.. 델파이7에서 압축된 파일을 풀었다는게? 프로그램을 설치했다...