Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Methoden während der Laufzeit erstellter Objekte (https://www.delphipraxis.net/38111-methoden-waehrend-der-laufzeit-erstellter-objekte.html)

Flippo 15. Jan 2005 11:36

Re: Methoden während der Laufzeit erstellter Objekte
 
Das habe ich auch schon ausprobiert, wars leider nich, wusste halt nich was du meinst :oops: ,
aber trotzdem Danke

Gruber_Hans_12345 15. Jan 2005 11:37

Re: Methoden während der Laufzeit erstellter Objekte
 
ups ....

natürlich so :

Delphi-Quellcode:
.....
procedure TForm1.Bauen;
var i,x:integer;
begin
Spalten:= Spinedit2.value;
Reihen:= Spinedit1.value;
  for x:= 1 to Reihen do begin
     for i:=1 to Spalten do begin
     MyShape[i] := TMyShape.Create(Form1);
       with MyShape[i] do begin
       Parent := Form1;
       Height := 15;
       Width := 15;
       Shape:=strectangle;
       Left := 120+22*i;
       Top := x*22;
       MyShape[i].OnClick:=ShapeClick;  < ==================
       end;
     end;
  end;

Flippo 15. Jan 2005 11:40

Re: Methoden während der Laufzeit erstellter Objekte
 
Ja hab ich mir schon gedacht funzt leider aber immernoch nicht

Gruber_Hans_12345 15. Jan 2005 11:55

Re: Methoden während der Laufzeit erstellter Objekte
 
Dann schreib mal die genaue Fehlermeldung die du bekommst und mit welchem Code.

Neutral General 15. Jan 2005 12:06

Re: Methoden während der Laufzeit erstellter Objekte
 
Delphi-Quellcode:
procedure TForm1.Bauen;
var i,x:integer;
begin
Spalten:= Spinedit2.value;
Reihen:= Spinedit1.value;
  for x:= 1 to Reihen do begin
     for i:=1 to Spalten do begin
     MyShape[i] := TMyShape.Create(Form1);
       with MyShape[i] do begin
       Parent := Form1;
       Height := 15;
       Width := 15;
       Shape:=strectangle;
       Left := 120+22*i;
       Top := x*22;
       OnClick:=ShapeClick;  
       end;
     end;
  end;
So muss es gehn :wink:

Flippo 15. Jan 2005 12:08

Re: Methoden während der Laufzeit erstellter Objekte
 
Delphi-Quellcode:
unit Unit1;

interface

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

type


TMyShape=class(TShape)
private
Farbe:String;
end;


type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }

    procedure ShapeClick(Sender:TObject);
    procedure Bauen;
  end;

var
  Form1: TForm1;
  StartX, StartY: Integer;
  Spalten,Reihen:integer;
  MyShape: array[1..225] of TMyShape;

implementation

{$R *.DFM}


procedure ShapeClick(Sender:TObject);
begin

end;

procedure Bauen;
var i,x:integer;
begin
Spalten:= form1.Spinedit2.value;
Reihen:= form1.Spinedit1.value;
  for x:= 1 to Reihen do begin
     for i:=1 to Spalten do begin
     MyShape[i] := TMyShape.Create(Form1);
       with MyShape[i] do begin
       Parent := Form1;
       Height := 15;
       Width := 15;
       Shape:=strectangle;
       Left := 120+22*i;
       Top := x*22;
       MyShape[i].OnClick:=ShapeClick;
       end;
     end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Bauen;
end;
end.
Unit1.pas[66]:Inkompatible Typen: Methodenzeiger und reguläre Procedure
Unit1.pas[31]:Ungenügende Forward Externel Deklaration 'Form1.Shape1.CLick'
Unit1.pas[32]:Ungenügende Forward Externel Deklaration 'Form1.Bauen'

Neutral General 15. Jan 2005 12:11

Re: Methoden während der Laufzeit erstellter Objekte
 
Delphi-Quellcode:
unit Unit1;

interface

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

type


TMyShape=class(TShape)
private
Farbe:String;
end;


type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }

    procedure ShapeClick(Sender:TObject);
    procedure Bauen;
  end;

var
  Form1: TForm1;
  StartX, StartY: Integer;
  Spalten,Reihen:integer;
  MyShape: array[1..225] of TMyShape;

implementation

{$R *.DFM}


procedure TForm1.ShapeClick(Sender:TObject); // TForm1. nicht vergessen
begin
  // Damit was passiert musst du natürlich auch was reinschreiben ;-)
end;

procedure Bauen;
var i,x:integer;
begin
Spalten:= form1.Spinedit2.value;
Reihen:= form1.Spinedit1.value;
  for x:= 1 to Reihen do begin
     for i:=1 to Spalten do begin
     MyShape[i] := TMyShape.Create(Form1);
       with MyShape[i] do begin
       Parent := Form1;
       Height := 15;
       Width := 15;
       Shape:=strectangle;
       Left := 120+22*i;
       Top := x*22;
       OnClick:=ShapeClick; // ohne MyShape[i]
       end;
     end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Bauen;
end;
end.
Sooo geht das 100%ig :zwinker:

Gruber_Hans_12345 15. Jan 2005 12:16

Re: Methoden während der Laufzeit erstellter Objekte
 
und natürlich noch ...
Delphi-Quellcode:
procedure TForm1.ShapeClick(Sender:TObject); // TForm1. nicht vergessen
begin
  // Damit was passiert musst du natürlich auch was reinschreiben ;-)
end;

procedure TForm1.Bauen;
....

Flippo 15. Jan 2005 12:23

Re: Methoden während der Laufzeit erstellter Objekte
 
:bouncing4: :bouncing4: :bounce1: :bounce1: :cheers: :bounce1: :bounce1: :bouncing4: :bouncing4:
:firejump: :firejump: :bounce2: :bounce2: :bounce2: :firejump: :firejump: :dancer2: :hello:


Echt ganz großes Dankeschön an alle speziell an General und Hans :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:14 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz