Link to home
Start Free TrialLog in
Avatar of nafa2221
nafa2221

asked on

Function

I am writeing a function that returns a boolean(true,false) and It doesnt seem to let me call a function from within the function, how can I do this?
Avatar of inthe
inthe

i havent tested this but it should work declare the functions globally so instead of calling
somefunction();
you can call
tform1.somefunction();

example:

  private
    function1(s : string);
    function2(t : tdatetime);  
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function TForm1.function1(s : string);string;
begin
showmessage(s);
end;

function TForm1.function2(t:string);string;
begin
showmessage(t);
tform1.function2('here is function1 called in function2');
end;

if it dont work pates your 2 functions here  so we can look at.
Avatar of nafa2221

ASKER

MatchedWindow:=TForm1.FindWindowThatContainSubString(AOWindows,'Welcome'); <-- Thay gives me the error undeclared indentifier...help!
erm please ignore above code it is gibberish(real bad)

here is a tested example of what i mean:
   
   
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    function function1(s : string):string;
    function function2(t : string):string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function TForm1.function1(s : string):string;
begin
showmessage(s);
end;

function TForm1.function2(t : string):string;
begin
showmessage(t);
function1('here is function1 in function2');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Function2('function2');
end;

end.

oh i didnt see your posting.

what is this?

MatchedWindow:=TForm1.FindWindowThatContainSubString(AOWindows,'Welcome'); <-- Thay gives me the error undeclared indentifier...help!

that tells me nothing..
have you made this function yourself?
is it delared globally?
if so i would need see your full function to understand the error.
and show you where to put the code in your unit.
i presume your calling it on a button click or something ..?
please take a look at the second posting of mine and i think you will see what to do.


ASKER CERTIFIED SOLUTION
Avatar of inthe
inthe

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
hi nafa,
having read some of your questions do you think this may help you:
i also use aol sometiomes so i could check the classnames to get this function.
mm.. i see your after the
"welcome , Barry" Window ..
what do you intend to do with this window when you have it?
maybe i can help more ..


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

Procedure FindAolWindow;
var
AolMainWnd,AolMdi,AolWelcomeWnd : hwnd;
s : array [0..255]of char;
begin
  AolMainWnd:= FindWindow('AOL Frame25',nil);
  if AolMainWnd <> 0 then begin
  AolMdi := FindWindowEx(AolMainWnd,0,'MDIClient',nil);
  if AolMdi <> 0 then begin
  AolWelcomeWnd  := FindWindowEx(AolMdi,0,'AOL Child',nil);
  if AolWelcomeWnd <>0 then
  begin
  getwindowtext(AolWelcomeWnd,s,255);
  if pos('Welcome',s) <> 0 then
    begin
  showmessage('Connected ')
    end
  else
   if pos('Goodbye',s) <> 0 then
     begin
  showmessage('Not Connected' );
    end
   else showmessage('Error..Aol running but Welcome/Goodbye Window not found');
   end;
 end;
 end
 else showmessage('Aol not running');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 FindAolWindow;
end;

end.