全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1189
推到 Plurk!
推到 Facebook!

自行產生物件問題

尚未結案
GiGi
一般會員


發表:17
回覆:21
積分:7
註冊:2002-10-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-05 10:22:03 IP:211.23.xxx.xxx 未訂閱
小弟有個問題 請各位先進不煩解惑 小弟在D5中設定 type Labels : object Label1 :TLabel; Label2 :TLabel; end; 這樣好像不能設定, 請問如何自訂物件可以符合上列要求 謝謝大家摟
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-05 11:10:15 IP:218.163.xxx.xxx 未訂閱
type  //以下是型態定義, 不是變數宣告      TForm2 = class(TForm)
//此處為published區, 以Form來說, designTime加入之元件均放在此處
//自行宣告之物件不可放於此
  private
//可放在此處
    { Private declarations }
  public
//可放在此處
    { Public declarations }
  end;    var 
//如果是Global之宣告, 不屬於任何class可於此宣告
Labels : Tobject
Label1 :TLabel;
Label2 :TLabel;    
Leway
一般會員


發表:43
回覆:71
積分:22
註冊:2003-07-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-06 08:12:50 IP:218.80.xxx.xxx 未訂閱
您如果要自定形態,請如下:  
 
 type
   Labels = object
   Label1 = TLabel;
   Label2 = TLabel;
  end;   
 
如果您要宣告變量,請如下:
  var
   Labels : object
   Label1 :TLabel;
   Label2 :TLabel;
 
  
========================= 語言是工具,最重要是如何解決問題。
GiGi
一般會員


發表:17
回覆:21
積分:7
註冊:2002-10-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-06 14:38:42 IP:211.23.xxx.xxx 未訂閱
謝謝回應 cchen 與 Leway 所列出來的code 我都有試了 在編譯的時候 就是單純的放入各位所列出的還是不能過 煩請各位先進再予以幫忙 var Labels : Tobject Label1 :TLabel; Label2 :TLabel 錯誤訊息 [Error] Unit1.pas(28): Invalid compiler directive: 'Label1' type Labels = Tobject Label1 = TLabel; Label2 = TLabel; end; 錯誤訊息 [Error] Unit1.pas(10): ';' expected but identifier 'Label1' found [Error] Unit1.pas(12): 'IMPLEMENTATION' expected but ';' found [Error] Unit1.pas(26): '.' expected but 'IMPLEMENTATION' found var Labels : object Label1 :TLabel; Label2 :TLabel; 錯誤訊息 [Error] Unit1.pas(27): Class, interface and object types only allowed in type section [Error] Unit1.pas(28): Local class, interface or object types not allowed [Error] Unit1.pas(31): 'END' expected but 'BEGIN' found
GiGi
一般會員


發表:17
回覆:21
積分:7
註冊:2002-10-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-06 15:25:13 IP:211.23.xxx.xxx 未訂閱
試出來了 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TLabels = class Label1 : TLabel; Label2 : TLabel; end; 但是 又有問題需要幫忙 我怎麼指定Label 的event?? 我試的是這樣(Click 是 procedure Click(Sender:TObject);) procedure TForm1.FormCreate(Sender: TObject); var cl:TLabels; begin cl.Label1.OnClick:=Click(nil); end; 錯誤訊息 [Error] Unit1.pas(37): Incompatible types: 'TNotifyEvent' and 'procedure, untyped pointer or untyped parameter'
GiGi
一般會員


發表:17
回覆:21
積分:7
註冊:2002-10-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-06 15:46:31 IP:211.23.xxx.xxx 未訂閱
糟糕 我都在自言自語 自己發布的問題 自己答    剛剛問題 是我弄錯了    cl.Label1.OnClick:=Click(nil);  <----錯誤的    cl.Label1.OnClick:=Click;       <----正確的   所以 指定事件的procedure 不需要加上參數 就這樣    ps 可以給自己分數嗎
系統時間:2024-04-29 4:38:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!