AGB  ·  Datenschutz  ·  Impressum  







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

Erstellte Form onClose zu weisen ???

Ein Thema von Piro · begonnen am 25. Mär 2007 · letzter Beitrag vom 26. Mär 2007
Antwort Antwort
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

Erstellte Form onClose zu weisen ???

  Alt 25. Mär 2007, 22:09
Guten Abend,

ich versuche gerade, einer zur Laufzeit erstellten Form das onClose Event zu zuweisen. Es kommt aber immer ein Fehler mit dem ich nichts anfangen kann.

Delphi-Quellcode:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 Form: TForm;
begin
 Form:=TForm.Create(Self);
 with Form do
 begin
   Left:=100;
   Top:=100;
   OnClose:=Button2Click;
   ShowModal;
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 ShowMessage('Die neue Form wird geschlossen.');
end;

end.
Fehler
Zitat:
[Pascal Fehler] Unit1.pas(36): E2009 Inkompatible Typen: 'Liste der Parameter ist unterschiedlich'
Weiß einer warum?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Erstellte Form onClose zu weisen ???

  Alt 25. Mär 2007, 22:11
Die Meldung sag es doch schon. Die OnClose-Methode muss andere Parameter als deine OnClick-Methode haben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Erstellte Form onClose zu weisen ???

  Alt 25. Mär 2007, 22:18
Das war mir bewußt aber welche brauche ich?
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Erstellte Form onClose zu weisen ???

  Alt 25. Mär 2007, 22:38
Schau dir doch einfach die Parameter im Prozedur-Kopf deiner Hauptform an, dann weißt du es.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Erstellte Form onClose zu weisen ???

  Alt 25. Mär 2007, 23:43
habe habe jetz mit "caFree" herumprobiert. Ich schaffe es nicht. Es wäre nett wenn mir einer mal ein Beispiel geben kann. Wäre nett.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 Form: TForm;
begin
 Form:=TForm.Create(Self);
 with Form do
 begin
   Left:=100;
   Top:=100;
   OnClose:=CloseForm(caFree);
   ShowModal;
 end;
end;

procedure TForm1.CloseForm(Sender: TObject);
begin
 ShowMessage('Die neue Form wird geschlossen.');
end;
Gruß, Sven
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Erstellte Form onClose zu weisen ???

  Alt 25. Mär 2007, 23:53
Hallo Sven,

der Prototyp der Behandlungsroutine für das OnClose-Ereignis wird von Borland fest vorgegeben, den kannst du nicht ändern:

procedure (Sender: TObject; var Action: TCloseAction) of object; Deine Methode CloseForm muß die gleiche Signatur besitzen:

Delphi-Quellcode:
procedure TForm1.CloseForm (Sender: TObject; var Action: TCloseAction);
begin
  ShowMessage('Die neue Form wird geschlossen.');
end;
Die Zuweisung sieht dann so aus:

Delphi-Quellcode:
with Form do
begin
  ...
  OnClose := CloseForm;
  ...
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Erstellte Form onClose zu weisen ???

  Alt 26. Mär 2007, 00:07
danke, war mir alles nicht bewußt.

Nochmals Danke.
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:45 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