16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"コンポをインストールせずに使用する方法"
この発言は #00353 FuKu さんのコンポーネントの中でコールバック関数を使う方法 に対するコメントです
みなさん、こんにちは。FuKuです。
nifty:FDELPHI/MES/16/353 で
書いたコンポを試すためのサンプルです。
またこれはコンポをインストールせずに使用する方法でもあります。
イベントがちゃんと正確に出ているか確認できます。
マルチメディアのタイマーがいかに正確かと言う事が
解ってもらえるかと思います。(^^ゞ
しかしキーワード付けづらいサンプルだなぁ。(^_^;)
-------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, KTimer, StdCtrls;
{~~~~~~忘れないように}
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
public
Test: Boolean;
Cnt: Integer;
// インストールしないで使用するコンポ
KitchenTimer: TKitchenTimer;
// 割り当てるイベントハンドラ
procedure CallBackSuccess(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
// インストールせずにコンポを使うための設定
KitchenTimer := TKitchenTimer.Create(Self);
// コンポがTControlまたはその派生クラスから派生している場合は
// KitchenTimer.Parent := Self;
// を追加する。(このコンポの場合は要らない)
// コンポの初期設定
KitchenTimer.Interval := 3000;
// 生成したコンポのイベントハンドラに手続きを割り当てる
KitchenTimer.OnTimer := CallBackSuccess;
Test := False;
Button1.Caption := 'Click Me';
end;
// イベントに割り当てるハンドラ
procedure TForm1.CallBackSuccess(Sender: TObject);
begin
Caption := 'Success!! '+IntToStr(GetTickCount-Cnt)+'ms';
Button1.Enabled := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := '';
Cnt := GetTickCount;
// タイマースタート
KitchenTimer.Start;
Button1.Enabled := False;
end;
end.
-------- 8< -------- 8< -------- 8< -------- 8< -------- 8< --------
-------
98/01/17 (土)19:44:05
FuKu (SGV00305)
Original document by FuKu 氏 ID:(SGV00305)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|