04. februar 2005 - 11:00Der er
4 kommentarer og 1 løsning
Program uden units og forms
Hej,
Jeg er ved at lave et program som kopierer nogle filer, og dette skulle gerne foregå i baggrunden så brugeren ikke bliver generet af det. Jeg har så læst et sted at man kan skrive alt sin kode i .dpr filen og helt undlade units og forms. Jeg har ikke noget imod at bruge en unit, men der skal ikke være nogen forms.
Jeg kan imidlertid ikke få det til at virke med procedures og jeg kender ikke til rækkefølgen af koden. Jeg får en fejlmeddelselse: "Identifier expected but 'PROCEDURE' found" samt et par andre stykker.
Hov, jeg kommer lige til at se at programmet nok ikke ligefrem behøver Application.Terminate da det vel afsluttes når det har nået al koden igennem...?
Jeg vil ikke have en konsol app. den er jo også synlig.
Jeg kan godt skjule formen, men stadig, der er en unødvendig form.
Jeg har selv fundet en løsning som jeg da lige vil poste her:
Man opretter en alm. application, sletter formen med Project Manager, og skriver alt sin kode i .dpr filen på følgende vis:
program MitProgram;
uses Windows, SysUtils;
var SomeVars: String:
function SomeFunc(Parameters: Integer): String; begin ... noget kode ... end;
procedure SomeProc(Parameters: String); var SomeVars: String; begin ... noget kode ... end;
begin ... hoved program koden ... end.
Det man så SKAL huske, det er at alt der skal bruges i f.eks. funktionen skal stå OVER funktionen... dvs. funktionen kan ikke bruge proceduren fordi programmet afvikles fra øverste linie og ned. Alle variabler skal også erklæres før de skal bruges. Når programmet når "end." afsluttes det, så der er ik brug for Application.Terminate; eller Close;
angående rækkefølgen, så er det samme "sang" i alm. delphi.
Men i dit tilfælde kunne du forward erklære SomeProc før SomeFunc - så kunne de begge benytte hinanden :P
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.