Solved

TFrame Function Problem

Posted on 2009-05-13
4
207 Views
Last Modified: 2012-05-06
Hi I'd like to be able to activate a action within a function within a tframe. though for some reason I can't do it?
object Frame2: TFrame2

  Left = 0

  Top = 0

  Width = 320

  Height = 240

  TabOrder = 0

  TabStop = True

  object Edit1: TEdit

    Left = 72

    Top = 48

    Width = 121

    Height = 21

    TabOrder = 0

    Text = 'Edit1'

  end

  object Button1: TButton

    Left = 72

    Top = 75

    Width = 75

    Height = 25

    Caption = 'Button1'

    TabOrder = 1

    OnClick = Button1Click

  end

end

 

 

 

 

==========================================================

 

 

 

unit Unit2;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;

 

type

  TFrame2 = class(TFrame)

    Edit1: TEdit;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

implementation

 

{$R *.dfm}

 

function Start:string;

begin

frame2.edit1.text:='tt';

end;

 

function finish:string;

begin

start;

 

 

end;

 

 

procedure TFrame2.Button1Click(Sender: TObject);

begin

finish;

end;

 

end.

Open in new window

0
Comment
Question by:eNarc
  • 2
  • 2
4 Comments
 
LVL 37

Expert Comment

by:Geert Gruwez
ID: 24377849
why do you mix methods and proc/funcs like this ?
what are you trying to achieve ?

next to that your function results are not defined ...

this may be just a sample but it brings just more questions than simplify

when calling a function from a frame from within the form and this is not a method of the frame, it is better to pass the form and/or frame as a parameter
0
 
LVL 37

Accepted Solution

by:
Geert Gruwez earned 500 total points
ID: 24377892
something like this ?
object Frame2: TFrame2

  Left = 0

  Top = 0

  Width = 320

  Height = 240

  TabOrder = 0

  TabStop = True

  object Edit1: TEdit

    Left = 72

    Top = 48

    Width = 121

    Height = 21

    TabOrder = 0

    Text = 'Edit1'

  end

  object Button1: TButton

    Left = 72

    Top = 75

    Width = 75

    Height = 25

    Caption = 'Button1'

    TabOrder = 1

    OnClick = Button1Click

  end

end

 

 

 

 

==========================================================

 

 

 

unit Unit2;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;

 

type

  TFrame2 = class(TFrame)

    Edit1: TEdit;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

implementation

 

{$R *.dfm}

 

function Start(aFrame: TFrame):string;

begin

  //it's a function, so return a result 

  // or change it to a procedure

  Result := '';

  if aFrame is TFrame2 then 

    Result := TFrame2(aFrame).Edit1.Text;

  //frame2.edit1.text:='tt';

end;

 

function finish(aFrame: TFrame):string;

begin

  Result := start(aFrame);

end;

 

 

procedure TFrame2.Button1Click(Sender: TObject);

begin

  finish(Self);

end;

 

end.

Open in new window

0
 
LVL 5

Author Comment

by:eNarc
ID: 24378823
thankyou, your a life saver, you truly are, I thought it was something self, though when I did self, it declared it as being unknown, and now I see how you've done it :D and yea, it has to be declared, should have known hehe thankyou :D
0
 
LVL 5

Author Closing Comment

by:eNarc
ID: 31581111
thankyou :)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now