![]() |
Procedure an neue Form
Hy!
In einer Konsolenanwendung, erstelle ich eine neue Form. Auf dieser Form ist ein Button und dieser soll sein onclick Ereignis auf eine Procedure in der Konsolenanwendung richten. Ich möchte also die Procedure in die neu erstellte Form kopieren. Ist sowas möglich? Wenn ja, wie? |
Re: Procedure an neue Form
Konsolenanwendungen haben normalerweise keine Fenster(Formulare)
Aber einer Event-Property kannst jede passende Methode zuweisen (Signatur muß stimmen) |
Re: Procedure an neue Form
Ich hab es jetzt so, dass das button.click Ereignis = der Procedure in der KOnsole ist.
Nun habe ich aber das Problem, dass mir der Compiler sagt, dass Methodenzeiger und reguläre Proceduren inkompatilbe Typen sind. Was sind Event-Propertys und wo kann ich die umstellen? Danke schonmal :) |
Re: Procedure an neue Form
Eine Methode ist Teil einer Klasse.
|
Re: Procedure an neue Form
Und wie kann ich eine class in einer Konsole einrichten?
Vor die Procedure class schreiben reicht nicht. Bin gerade ziemlich konfus. Sorry für die vielen blöden Fragen, es ist aber wichtig. :( |
Re: Procedure an neue Form
Man kann auch in Konsolenanwendungen Klassen verwenden, oder was verstehst du unter einer Konsolenanwendung?
|
Re: Procedure an neue Form
Naja, ich versteh gerade nicht, was eine class ist.
In einer normalen Anwendung gibt es ja den Bereich Type und dort steht dann Tform1 = class(Tform) und danach kommen die ganzen Proceduren, die zu dieser KLasse gehören. Aber was kann es in einer Konsolenanwendung für KLassen geben? Da ist doch garkeine Tform vorhanden, die kommt doch erst später dazu. Es sieht bisher so aus:
Delphi-Quellcode:
Was muss ich machen, dass mir der Compiler nicht an der Stelle button.OnClick := klicke; um die Ohren springt?
procedure klicke(sender:tobject);
begin showmessage('hallo'); end; procedure erschaffen; var form : tform; button : tbutton; begin form := tform.CreateNew(Application); form.Left := 500; form.Show; button := tbutton.Create(form); button.Top := 25; button.parent := form; button.OnClick := klicke; end; begin erschaffen; end. Danke nochmals an alle! EDIT: Naja, ich verstehe darunter dieses Eumel, was man unter "Neu" und "Konsolenanwendung" erstellen kann. ^^" |
Re: Procedure an neue Form
Eine Konsolenanwendung ist eine Anwendung ohne Fenster, diese kann obejektorientiert sein oder nicht. Eine Windowsanwendung kann wiederrum auch ohne Klassen sien (Non-VCL).
Events benötigen eine Methode, keine Funktion. Und Methoden sind wie gesagt Teil einer Klasse. Ich verstehe dein Vorhbane noch nicht ganz. Handelt es sich hierbei um 2 Programme? |
Re: Procedure an neue Form
Also, ich will folgendes tun:
Ich möchte einen neune Desktop erstellen. Und in diesem soll eine Form erstellt werden. Da das nur durch eine Konsolenanwendung möglich ist (hab es mit einer normalen Anwendung versucht, da sollte sich der Desktop auf einen Buttonklick öffnen und dann eine Message anzeigen, aber es öffnete sich nur der Desk und die Message wurde auf dem alten angeziegt und nicht im neune, obwohl sie nach createdesk kam), muss ich nun eine Form erstellen, auf der ein Button ist. Und wenn dieser Button gedrückt wird, soll ein Event, welches sich in der Konsole befindet ausgeführt werden. So und nun habe ich das Problem, dass eine Konsole von vornerein keine Objekte hat und folgich kann man deshalb soweit ich weiß auch keine Class anlegen und deshalb wird das auch mit dem Event für den Button auf der erstellen form nichts, da dieser eine Methode und somit eine Class benötigt. Ich hoffe ihr könnt mir weiterhelfen. P.S. der Quellcode oben ist abgespeckt, also erstmal ohne das Createdesk. |
Re: Procedure an neue Form
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz