Avatar billede koden12 Nybegynder
15. juli 2003 - 10:04 Der er 3 kommentarer og
1 løsning

2 unit en til hver kan jeg det ?

Jeg har en TabbedNotebook med 3 faner må det vil hedde.
Jeg ville grne tilknytte en ny unit til hver faneblad.
Kan jeg det.
Dette problem skyldes at jeg er ved at lave et program hvor der er meget kode i.
Det bliver derfor meget rodet hvis det alt sammen skal stå i samme unit.
De andre faneblades unit skal også gerne have sine egne edit og Button og kunne sammarbejde med den første unit.
Er det en mulighed som Delphi tilbyder ?
VH
SpørgeJørgen
Avatar billede kustoden Nybegynder
15. juli 2003 - 10:27 #1
Det er lidt mere komplekst, end du lige får det til at lyde.

Hvis du f.eks. bruger en TTabControl, kan du i princippet ligge koden, lige nøjagtigt, hvor du vil, MEN alle events, der vedrører formen, altså også Onchange osv. for TTabControl skal selvfølgelig ligge i den unit.

Nu vil god skik i forvejen foreskrive, at du ikke ligger særlig meget kode på dine eventhandlere, f.eks. bør en Onclick ikke fylde meget mere end 10 linier.

Dette indebærer, at du alligevel skal lægge koden et andet sted, og her kunne man jo passende samle det i logisk sammensatte units.

M.a.o. Selve event-delen skal ligge i samme unit som formen, men de metoder, der kaldes fra disse skal ikke.
Avatar billede koden12 Nybegynder
15. juli 2003 - 11:08 #2
ØV
Det lyder for svært for mig.
Men Tak.
VH
SpørgerJørgen
Avatar billede kustoden Nybegynder
15. juli 2003 - 11:38 #3
Nej, det er faktisk ikke så vanskeligt.

Du grupperer bare de logisk sammenhængende procedurer/funktioner og placerer dem i i de relevante units.

Du har fat i det helt rigtigt.

I f.eks. OnClick har du en Sender, der er en TObject (m.a.o. bare en pointer til et objekt) Denne kan du caste til, hvad den nu forventes at være, f.eks. TTabControl. Ud fra dette kan du finde det nye faneblad og behandle det i den unit, der nu skal behandle det.

Hvis du er interesseret, kan jeg godt lige flække noget sammen, der demonstrerer det, men det bliver nok først torsdag.
Avatar billede koden12 Nybegynder
15. juli 2003 - 13:24 #4
Det må du meget gerne .
Jeg er gået i gang med noget langt over mine evner.
Selv om jeg "låner" lidt fra andre.
En database bestående at en(flere) Dat filer.
Den er fyldt med Procedure som fx :

{ Private declarations }
  procedure SetRecVals;
  procedure ReadRec;
  procedure EnableButtens(EnableIt:Boolean);
  procedure MoveToRec(Direction : TRecMove);
  procedure LocateRec(Value : String;FromBOF:Boolean);
  procedure CreateNewRec;
  procedure InsertRec;
  procedure UpdateRec;
  procedure DeleteRec;

Og meget andet.
Jeg ville jo gerne have 2- 3 data/record på den, i DAT filer.
Men det er allerede ved at være uoverskueligt.
Jeg er omhyggelig med navngivning men alligevel.
Det er ikke noget der haster.
Jeg "træner" bare og kan lide at lege med det.
VH
SpørgerJørgen
Men lægger den alligevel ikke alle edit1 og edit2 osv på UNIT 1 ?
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