|
| Ang. units Fra : Kristian Kjærgaard |
Dato : 25-07-05 20:36 |
|
Sådan ser syntaksen ud for et unit (Delphi 7 Personal):
unit Navn;
interface
uses
implementation
uses
initialization
finalization
end.
Hvad er forskellen på uses-listen i interface-sektionen og uses-listen
i implementation-sektionen?
"Circular unit reference" opstår, når to units linker til hinanden i
interface-sektionen. Hvorfor må de ikke det?
Hvornår er det en god idé at bruge initialization- og
finalization-sektionerne?
Jeg udvikler en MDI-teksteditor. Hvordan linker jeg hovedformen og
editorformen optimalt sammen?
--
Kristian Kjærgaard
Revisor, ingeniør, komponist, web-udvikler (det er rart med
ikke-beskyttede titler...)
| |
Erik Klausen (25-07-2005)
| Kommentar Fra : Erik Klausen |
Dato : 25-07-05 22:04 |
|
Kristian Kjærgaard <overgodt@WKES1yahoo.dk> (slet WKES1) wrote in
news:11223203640.647231679523557@dtext.news.tele.dk:
> unit Navn;
> interface
> uses
> implementation
> uses
> initialization
> finalization
> end.
>
> Hvad er forskellen på uses-listen i interface-sektionen og uses-listen
> i implementation-sektionen?
I Interface-delen definerer du hvilke typer, variable og rutiner der skal
kunne bruges udefra. For at definere dette skal du måske bruge typer etc.
udefra. Det gør du ved at USE ved hjælp af USES i Interface-delen.
Nogle rutiner skal du kun bruge i IMPLEMENTATION-delen, og så er det
pænere at lægge dem i USES-linien derunder.
> "Circular unit reference" opstår, når to units linker til hinanden i
> interface-sektionen. Hvorfor må de ikke det?
Fordi Interface-delen fortæller hvilke typer etc. denne unit stiller til
rådighed. Og at definere to units ved hjælp af hinanden er selvfølgelig
noget rod. Men, er det en fejlmelding eller er det en warning?
> Hvornår er det en god idé at bruge initialization- og
> finalization-sektionerne?
For eksempel, hvis du implementerer en liste i en unit, kan du
initialisere rod-pointeren i Imitialization, og sørge for at al den
allokerede memory bliver de-allokeret i Finalization.
> Jeg udvikler en MDI-teksteditor. Hvordan linker jeg hovedformen og
> editorformen optimalt sammen?
Skal du overføre rutiner etc., eller data? Du kan referere begge dele i
hovedformen fra editor-formen.
mvh.
Erik Klausen
| |
Kristian Kjærgaard (26-07-2005)
| Kommentar Fra : Kristian Kjærgaard |
Dato : 26-07-05 11:37 |
|
Erik Klausen <ekl@host.domain> skrev:
>> Jeg udvikler en MDI-teksteditor.
>>Hvordan linker jeg hovedformen og
>> editorformen optimalt sammen?
>Skal du overføre rutiner etc., eller
>data?
Sansynligvis kun rutiner.
--
Kristian Kjærgaard
Revisor, ingeniør, komponist, web-udvikler (det er rart med ikke-
beskyttede titler...)
| |
Erik Klausen (26-07-2005)
| Kommentar Fra : Erik Klausen |
Dato : 26-07-05 21:18 |
|
Kristian Kjærgaard <overgodt@UWIPKyahoo.dk> (slet UWIPK) wrote in
news:11223744400.751784812567234@dtext.news.tele.dk:
> Erik Klausen <ekl@host.domain> skrev:
>>> Jeg udvikler en MDI-teksteditor.
>>>Hvordan linker jeg hovedformen og
>>> editorformen optimalt sammen?
>
>>Skal du overføre rutiner etc., eller
>>data?
>
> Sansynligvis kun rutiner.
>
Hej Kristian.
Hver form er en unit, så du kan eksportere rutiner. Det gør du ved at
skrive rutinen i Implementation-delen, og gentage rutinens header i
Interface-delen.
mvh.
Erik Klausen
| |
|
|