21. februar 2003 - 22:08Der er
45 kommentarer og 1 løsning
beta teste mit lille program
Bixede et lille program sammen idag, ved navn "Nomech Adds". Derfor vil jeg gerne lille have den beta testet :)
Egentlig var det bare for at lege lidt med Ini filer, men så tænkte jeg :" hm.. måske skulle jeg udgive det til de små børn der samler på musik, film og sådan". Ja det gør jeg så :)
Programmet er ikke ret stort, men den kan noget :) (bare ikke ret meget)
Det ser fint ud. Flot design med menuerne. Jeg synes bare ikke det er så smart at de menuer hvor man skal vælge kan man ikke se hvad valgmuligheder der er fordi det hale er sort. Jeg har win 2k
schaefner> tror at den fejl opstår når den ikke kan finde ini filerne. Du har vel ikke langt dem et andet sted end der hvor .exe filen er? for ellers er det derfor!
Forklar mig lige hvorfor det CPU-meter program jeg lige har lavet står og viser at min CPU bliver max, når dit program kører??? Hvorfor bruger det så meget CPU-kraft??? Godt nok har jeg kun en 550 MHz processer, men lige nu står den bare og svinger mellem 100-200 MHz... Når jeg starter dit program går den helt amok... Får desuden også samme fejl som schaefner...
procedure TMovie.FormClose(Sender: TObject; var Action: TCloseAction); begin SaveListToFile(ExtractFilePath(application.exename)+'MovAdds.ini'); SaveListToFile2(ExtractFilePath(application.exename)+'MusAdds.ini'); end;
Hmm... Jeg er faktisk ikke sikker på at det gør nogen forskel, men smid lige S.Free; ned efter SaveToFile i begge procedure... Man skal huske at befri allokeret hukommelse igen! ;)
du burde også create musadds.ini hvis den bliver slettet, giver fejlmeddelse ved start af program. Når der skrives til musicadd og lukker, kommer der ikke en fejlmeddelse.
stone > godt :) men hvordan gør jeg så sådan at hvis filerne MusAdds.ini og MovAdds.ini ikke findes der hvor exe filen er, så skal den create dem ? Ellers melder den jo fejl som du siger :)
Spam: er det kun hos mig der er ged i mailsystemet? Jeg får mails fra E! afsendt kl 21.13 i skøn sammenblanding med mails afsendt for 2 min. siden. Sorry for spam.
Naaaj... Bare de forskellige procedure og globale variabler... Vi ved godt hvad der står i Uses og alle dine komponenter på formen behøver vi heller ikke at vide noget om! ;)
Ellers så smæk det ind på din webserver som zip... Det kunne da også gå!
<hermandsen> ja du har ret i at filerne bliver oprettet ved SaveToFile...men hvis filerne bliver slettet før programmet bliver åbnet, får man en fejlmelding. ***********************************************************************
her er en procedure der checker om filerne eksisterer ved åbning af programmet.
procedure THistory1.FormCreate(Sender: TObject); var t : tstringlist; begin t := tstringlist.create; if not fileexists('history.txt') then t.savetofile('history.txt') else t.loadfromfile('history.txt'); FreeAndNil(t); end;
kfz >> Du skal bruge ActionManager og ActionMainMenuBar til det. Der er et eksempel med til Delphi 7 kaldet AlphaBlendMenus. Du kan finde den i: $(Delphi)\Demos\ActionBands\AlphaBlendMenus
Og 'WordPad' demoen viser det også. Den finder du en mappe oppe: $(Delphi)\Demos\ActionBands
Jeg har kigget lidt på koden (har ikke prøvet programmet), men jeg tror jeg har fundet årsagen i linie 137 og 138 (FormCreate): Ini := TInifile.create(extractFilePath(application.exename)+'MovAdds.ini'); Ini := TInifile.create(extractFilepath(application.exename)+'MusAdss.ini');
Det SKAL gå galt! Især når Ini ikke bliver Free'd bagefter. Prøv at ændre det til: Ini := TInifile.create(extractFilePath(application.exename)+'MovAdds.ini'); Ini.Free; Ini := TInifile.create(extractFilepath(application.exename)+'MusAdss.ini'); Ini.Free;
Hver gang du Create'er en class skal du også sørge for at Free'e den når du er færdig med den. Eller får du memory leaks og andre grimme sager på halsen.
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.