AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Während Programm läuft

Ein Thema von Finki · begonnen am 8. Aug 2013 · letzter Beitrag vom 10. Aug 2013
Antwort Antwort
Seite 2 von 3     12 3      
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Während Programm läuft

  Alt 8. Aug 2013, 14:24
@Finki:
Und ich habe auch noch eine Bitte Sei doch bitte so gut und passe den Titel dieses Threads an. "Während Programm läuft" ist nicht besonders konkret.
Danke Dir.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Während Programm läuft

  Alt 8. Aug 2013, 14:47
OK, Ich habe es kapiert! Ist es so jetzt besser?

@Daniel:

Ja, werde ich, in Zukunft, machen!
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#13

AW: Während Programm läuft

  Alt 8. Aug 2013, 15:21
Zitat:
Ja, werde ich, in Zukunft, machen!
... Daniel meinte eher gleich und hier. Du kannst das im ersten Beitrag ändern...
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Während Programm läuft

  Alt 8. Aug 2013, 17:39
ähm, ich hab da noch so eine frage:

ich versteh das doch noch nicht, wie soll des gehen das ich auf den move button drücke, wie soll der button dann "wissen" auf welches Objekt gedrückt wurde
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
662 Beiträge
 
#15

AW: Während Programm läuft

  Alt 8. Aug 2013, 19:14
ich versteh das doch noch nicht, wie soll des gehen das ich auf den move button drücke, wie soll der button dann "wissen" auf welches Objekt gedrückt wurde
Das musst du dir natürlich vorher merken.
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#16

AW: Während Programm läuft

  Alt 10. Aug 2013, 11:12
Dann kommt bei mir der fehler

newformframe.pas(94,36) Error: Wrong number of parameters specified for call to "MeinEigenesOnClick"

und das ist der Code

Delphi-Quellcode:
txtzahl:=txtzahl+1;
      Edit1 :=TEdit.Create(Form3);
      Edit1.Parent := Form3;
      Edit1.AutoSize:=true;
      Edit1.SetBounds(mausx,mausy,50,32);
      Edit1.Refresh;
      Edit1.Visible:=true;
      Edit1.Enabled:=true;
      Edit1.Caption:=Form4.Edit1.Text;
      with Edit1 do
      begin
      OnClick := MeinEigenesOnClick; //der liegt angeblich in dieser Zeile
      end;
      Edit1.Name:='txtFeld' + inttostr(txtzahl);
      Form4.Memo1.Lines.Text:='0';

Geändert von Finki (10. Aug 2013 um 11:17 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#17

AW: Während Programm läuft

  Alt 10. Aug 2013, 11:24
Wie hast du denn die procedure MeinEigenesOnClick deklariert?

Bei der Deklaration muss ein Sender als TObject übergeben werden.

Delphi-Quellcode:
procedure MeinEigenesOnClick(Sender: TObject); // Deklaration im Interface Teil
...
Edit1.OnClick := MeinEigenesOnClick; // Zuweisung des Ereignisses
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#18

AW: Während Programm läuft

  Alt 10. Aug 2013, 11:29
Delphi-Quellcode:
...

public
    procedure MeinEigenesOnClick(Sender: TObject);
 end;

var
  Form3: TForm3;

{ TForm3 }
procedure TForm3.MeinEigenesOnClick(Sender: TObject);
var
   meinControl: TWinControl;
begin
 if (Sender is TWinControl) then
      meinControl := (Sender as TWinControl)
   else
      Exit;

   meinControl.Left := meinControl.Left - 2;
end;
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#19

AW: Während Programm läuft

  Alt 10. Aug 2013, 11:35
Du darfst dein Ereignis nicht im public Bereich sondern nur im "globalen" Bereich deklarieren. Also auch dort, wo deine ganzen Komponenten aufgelistet werden.

Beispiel:

Delphi-Quellcode:
type
  TAdvancedSettingsFrm = class(TForm)
    SettingsTree: TJvSettingsTreeView;
    procedure SaveBtnClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#20

AW: Während Programm läuft

  Alt 10. Aug 2013, 11:41
immer noch der gleiche Fehler

newformframe.pas(94,40) Error: Wrong number of parameters specified for call to "MeinEigenesOnClick"

Delphi-Quellcode:
type

  { TForm3 }

  TForm3 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure FormChangeBounds(Sender: TObject);
    procedure FormClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure MeinEigenesOnClick(Sender: TObject);

  private
    { private declarations }
  public

  end;
und Hier mal der Quellcod der ganzen Unit

Delphi-Quellcode:
unit NewFormFrame;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ComCtrls, Buttons, ExtCtrls;

type

  { TForm3 }

  TForm3 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure FormChangeBounds(Sender: TObject);
    procedure FormClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure MeinEigenesOnClick(Sender: TObject);

  private
    { private declarations }
  public

  end;

var
  Form3: TForm3;

  txtzahl : integer;
  lblzahl : integer;
  absetzen : boolean;

implementation
uses
  FormularFrame, newformframetools;

{ TForm3 }
procedure TForm3.meineigenesOnClick(Sender: TObject);
var
   meinControl: TWinControl;
begin
 if (Sender is TWinControl) then
      meinControl := (Sender as TWinControl)
   else
      Exit;

   meinControl.Left := meinControl.Left - 2;
end;

procedure TForm3.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
  Form4.Close;
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
  txtzahl :=0;
  lblzahl :=0;
  Memo1.Lines.Clear;
  absetzen :=false
end;

procedure TForm3.FormClick(Sender: TObject);
var
  toolmemo1i : integer;
  mausx, mausy : integer;
  Edit1 : TEdit;
  Label1 : TLabel;

begin
  toolmemo1i:=strtoint(Form4.Memo1.Lines[0]);

  mausx:=Mouse.CursorPos.x-Form3.Left-3;
  mausy:=Mouse.CursorPos.y-Form3.Top-50;

  case toolmemo1i of
  0: begin
  end;
  1: begin
      txtzahl:=txtzahl+1;
      Edit1 :=TEdit.Create(Form3);
      Edit1.Parent := Form3;
      Edit1.AutoSize:=true;
      Edit1.SetBounds(mausx,mausy,50,32);
      Edit1.Refresh;
      Edit1.Visible:=true;
      Edit1.Enabled:=true;
      Edit1.OnClick:=MeinEigenesOnClick;
      Edit1.Caption:=Form4.Edit1.Text;
      Edit1.Name:='txtFeld' + inttostr(txtzahl);
      Form4.Memo1.Lines.Text:='0';

      Memo1.Lines.Add('1');
      Memo1.Lines.Add(Edit1.Name);
      Memo1.Lines.Add(Edit1.Text);
      Memo1.Lines.Add(inttostr(Edit1.BoundsRect.Left));
      Memo1.Lines.Add(inttostr(Edit1.BoundsRect.Top));
      Memo1.Lines.Add(inttostr(Edit1.Width));
      Memo1.Lines.Add(inttostr(Edit1.Height));
      Memo1.Lines.Add('');
   // Memo1.Lines.Text:=inttostr(Form4.txtSize.Caption);
      Form3.Refresh;
  end;
  2: begin
      lblzahl:=lblzahl+1;
      Label1 :=TLabel.Create(Form3);
      Label1.Parent := Form3;
      Label1.AutoSize:=true;
      Label1.SetBounds(mausx,mausy,50,32);
      {if lblzahl>1 then
      begin
        for j:=1 to lblzahl do
        lblFeld
      end;}


      Label1.Refresh;
      Label1.Visible:=true;
      Label1.Enabled:=true;
      Label1.Font.Size:=strtoint(Form4.txtSize.Text);
      Label1.Caption:=Form4.Edit1.Text;
      Label1.Name:='lblFeld' + inttostr(lblzahl);
      Form4.Memo1.Lines.Text:='0';
      Form3.Refresh;

      Memo1.Lines.Add('2');
      Memo1.Lines.Add(Label1.Name);
      Memo1.Lines.Add(Label1.Caption);
      Memo1.Lines.Add(inttostr(Label1.BoundsRect.Left));
      Memo1.Lines.Add(inttostr(Label1.BoundsRect.Top));
      Memo1.Lines.Add(inttostr(Label1.Width));
      Memo1.Lines.Add(inttostr(Label1.Height));
      Memo1.Lines.Add('');

  end;
  3: begin

  end;
  end;
end;

procedure TForm3.FormChangeBounds(Sender: TObject);
begin
  Form4.SetBounds(Form3.Left-125,Form3.Top,115,201);
end;

procedure TForm3.Button1Click(Sender: TObject);

begin

   button1.Caption:=boolToStr(move);
end;

procedure TForm3.FormShow(Sender: TObject);
begin
  Form3.Caption:='Formular Editor';

  Form4:= TForm4.Create(Form3);
  Form4.ShowOnTop;
  Form4.Caption:='Tools';
  Form4.SetBounds(Form3.Left-125,Form3.Top,115,296);
end;

{$R *.lfm}

end.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 Uhr.
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