Avatar billede rozh Nybegynder
29. maj 2007 - 19:50 Der er 4 kommentarer og
1 løsning

Custom Form

Hej

Jeg vil gerne lave en ny classe som er basseret på TForm
TQFormExt = class(TForm)

Der skal til TMyForm tilføjes en published event (OnEvent: TEventEvent).

Derefter vil jeg i Respiretory kunne tilføje forme af typen TQFormExt til mine projekter. Og disse skal alle have en published event i object inspektoren.

Jeg har skrevet følgende unit: 

unit uQFormExt;
interface
uses
  Classes, QForms;
type 
  TQFormExt = class(TForm)
  private
    FOnEvent: TEventEvent;
  protected
  public
    constructor Create      (AOwner: TComponent); override;
    destructor  Destroy;    override;
  published
    property    OnEvent: TEventEvent  read FOnEvent write FOnEvent;
  end;

implementation

constructor TQFormExt.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end;

destructor TQFormExt.Destroy;
begin
  inherited Destroy;
end;

end.


Men det ser ikke ud at virke helt så godt ! Jeg kan ihvertfald ikke tilføje classen til respiretorien og derefter tilføje formene til projektet.

Er der nogen der ved noget om det her ?

Jeg har på nettet også fundet følgende side, som skriver om emnet, men jeg forstod ikke alt for meget af det:

http://www.tempest-sw.com/opentools/custom-forms.html
Avatar billede hrc Mester
30. maj 2007 - 09:22 #1
Mht. constructoren. Jeg bruger "reintroduce" i stedet for "override"; du får en advarsel, ikke? Den forsvinder med "re..".

Du vil have formen over i dit Repository... Jeg blev heller ikke meget klogere, dvs. jeg forstod det godt det tempest skriver, men manglede beskrivelsen af hvordan man gjorde det - ligesom du.

Jeg har dog fået min form over i repository på følgende måde:
1. Lav et projekt
2. Opret form
3. Lav justeringerne
4. Vælg "Project" og der "Add to repository"
5. Udfyld data (vælg at gemme i "forms") og tryk OK.

På et nyt projekt vælg "File/New/Other" og der fanebladet som du valgte at placere det under. Hos mig ligger den der - og kan vælges.
Avatar billede rozh Nybegynder
30. maj 2007 - 11:06 #2
Hej

Tak for dit svar.

Problemet er at jeg gerne vil have en event: OnEvent af typen TEventEvent (QForms) som viser sig i fanebladet Events i object inspektoren, som man på sædvaligvis kan dobbeltklikke, så der kommer en event-procedure i koden. Den bagvedliggende kode, som så kalder denne event, skal være skjult i classen TQFormExt. Altså præcist ligesom når man laver et nyt komponent. Kan du få det til at virke ?
Avatar billede rozh Nybegynder
30. maj 2007 - 12:24 #3
Nu har jeg fundet ud af hvad der skal gøres. Svaret findes på denne side

http://www.mustangpeak.net/opentoolsape.htm

under

Creating Forms with Published Properties which show in the Object Inspector

Hvis du laver et svar hrc, så kan vi dle pointene :-)
Avatar billede hrc Mester
31. maj 2007 - 10:19 #4
Næ tak. 100 points er ellers fristende, men jeg svarede ikke på det du ønskede. Ser i øvrigt ud til at være et fint link du har fundet. Det skal jeg kigge lidt mere på.
Avatar billede rozh Nybegynder
03. juni 2007 - 20:06 #5
fair nok. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester