Difference between revisions of "User:LRChampagne2k"

From Lazarus wiki
Jump to navigationJump to search
Line 11: Line 11:
 
<code>
 
<code>
 
unit TestQueueAsyncCall;
 
unit TestQueueAsyncCall;
 +
 
{$mode objfpc}{$H+}
 
{$mode objfpc}{$H+}
 +
 
interface
 
interface
 
uses
 
uses
 
   Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
 
   Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
 
   StdCtrls;
 
   StdCtrls;
 +
 
type
 
type
 
   { TQueueAsyncCallForm }
 
   { TQueueAsyncCallForm }
Line 22: Line 25:
 
     LogListBox: TListBox;
 
     LogListBox: TListBox;
 
     procedure CallButtonClick(Sender: TObject);
 
     procedure CallButtonClick(Sender: TObject);
 +
 
   private
 
   private
 
     { private declarations }
 
     { private declarations }
 
     FCounter: PtrInt;
 
     FCounter: PtrInt;
 
     procedure Async(Data: PtrInt);
 
     procedure Async(Data: PtrInt);
 +
 
   public
 
   public
 
     { public declarations }
 
     { public declarations }
 
   end;  
 
   end;  
 +
 
var
 
var
 
   QueueAsyncCallForm: TQueueAsyncCallForm;
 
   QueueAsyncCallForm: TQueueAsyncCallForm;
 +
 
implementation
 
implementation
 
{ TQueueAsyncCallForm }
 
{ TQueueAsyncCallForm }
 +
 
procedure TQueueAsyncCallForm.CallButtonClick(Sender: TObject);
 
procedure TQueueAsyncCallForm.CallButtonClick(Sender: TObject);
 
begin
 
begin
Line 40: Line 48:
 
   LogListBox.Items.Add('Click 2');
 
   LogListBox.Items.Add('Click 2');
 
end;
 
end;
 +
 
procedure TQueueAsyncCallForm.Async(Data: PtrInt);
 
procedure TQueueAsyncCallForm.Async(Data: PtrInt);
 
begin
 
begin
 
   LogListBox.Items.Add('Async '+ IntToStr(Data));
 
   LogListBox.Items.Add('Async '+ IntToStr(Data));
 
end;
 
end;
 +
 
{$R *.lfm}
 
{$R *.lfm}
 +
 
end.
 
end.
 +
 
</code>
 
</code>
 
-end-
 
-end-

Revision as of 14:54, 17 April 2014

Just JUNK that may be DELETED, at any time

Purpose:

Its purpose is multi-, as follows:

  1. A basic understanding of the syntax, structure, capabilities and limitations of Wiki editing.
    1. Attempts to mix Wiki-style and HTML-style editing (The former is new to me; the latter I am not fond of.)
    2. I'd PREFER to fully edit off-line, and port to the proper pages,
  2. Gain an understanding of the implementation of the "wiki-style" pages.

unit TestQueueAsyncCall;

{$mode objfpc}{$H+}

interface uses

 Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
 StdCtrls;

type

 { TQueueAsyncCallForm }
 TQueueAsyncCallForm = class(TForm)
   CallButton: TButton;
   LogListBox: TListBox;
   procedure CallButtonClick(Sender: TObject);
 private
   { private declarations }
   FCounter: PtrInt;
   procedure Async(Data: PtrInt);
 public
   { public declarations }
 end; 

var

 QueueAsyncCallForm: TQueueAsyncCallForm;

implementation { TQueueAsyncCallForm }

procedure TQueueAsyncCallForm.CallButtonClick(Sender: TObject); begin

 LogListBox.Items.Add('Click 1');
 FCounter := FCounter+1;
 Application.QueueAsyncCall(@Async,FCounter);
 LogListBox.Items.Add('Click 2');

end;

procedure TQueueAsyncCallForm.Async(Data: PtrInt); begin

  LogListBox.Items.Add('Async '+ IntToStr(Data));

end;

{$R *.lfm}

end.

-end-