Solved

TFrame Function Problem

Posted on 2009-05-13
4
205 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 36

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 36

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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

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…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

747 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

13 Experts available now in Live!

Get 1:1 Help Now