28. januar 2007 - 22:24Der er
4 kommentarer og 1 løsning
Skrive og bruge en pas fil
Hej derude Er igang med et lidt "større projekt" hvor koden er ret så helvedes lang og svær at finde rundt i så tænte på om hvordan jeg skal oprette og skrive en pas fil uden nogen form bare ren kode og så hente date og skrive data til den fra min main form? Tak på forhånd!
Du går ind i New og vælger en Unit. En unit er en form uden en form! Her skriver du dine klasser. Hvis koden indeholder referencer til komponenter på formen, så er det noget skidt - men det kan løses.
En pas-fil har en interface og en implementation del:
Unit UMyUnit1;
interface
uses SysUtils og lignende;
type TMyClass = class private public end;
implementation
uses MainForm; // Grimt, men det løser problemet med referencer til komponenter i formen
kode ... end.
I din form skal du referere til UMyUnit1 og så er du ellers kørende
Det grimme jeg omtalte er, at du refererer til komponenter i din form og din form refererer til procedurer i din unit. Det er vigtigt at du bemærker de 2 uses-linjer: I interface og i implementation-delen. Du kan nemlig ikke referere begge veje i eksempelvis interface-delen; så får du en "circular reference":
form TMyForm;
interface
uses TMyUnit1;
...
unit TMyUnit1;
interface
uses TMyForm;
Dette vil fejle; den ene reference skal placeres i implementation-delen.
Erfaringen viser, at det giver svært administrérbar kode, så prøv at undgå det. Her, hvor du skal have noget kode flyttet ud, er der nok ingen vej uden om.
Skal du bruge DLL'er? En unit er nu letterst. En Borland Package lidt sværere og en DLL sværest.
Det kan ikke passe at du ikke kan få det til at virke.
Lav en applikation. Gem din form som FMain. Vælg File\New\Unit og gem den som UTest.
Mens du er i UTest trykker du <alt-f11> og vælger FMain. Skift til FMain og skriv UTest i den øverste uses.
I filen FMain: -------------- form TForm;
interface
uses ... UTest;
implementation
I filen UTest: -------------- unit UTest;
interface
...
implementation
uses ... FMain;
Synes godt om
Ny brugerNybegynder
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.