11. november 2002 - 14:16Der er
12 kommentarer og 1 løsning
Notes danner selv felter ?! - Haster !!
Vi har gjort en lidt mystisk opdagelse, som nogen af jer forhåbentlig kan forklare. Det hele startede med at vi på en formular fik fejlen " Der er for mange unikke felter...bla bla bla". Vi prøvede at komprimer databasen uden held. Så ryddede vi op i databasen og det hjalp. Men fandt ud af følgende: Hvis man har et felt (fd_Disp) og på feltets exiting/entering skriver eks: Dim hello as string. Efterfølgende kigger man i notespeek og ser at der er oprettet 2 felter: "$$fd_Disp" og "$fd_Disp_O" . Hvis man Sletter dim-sætningen fra feltet fd_Disp rydder Notes ikke op. 1) hvorfor bliver disse felter overhovedet oprettet ? 2) hvordan får man dem fjernet igen ?
Fingerne væk! Det er interne Notes felter - du får "ballade" hvis du fjerner dem! Notes opretter $ og $$ felter til intern information (compileret) om diverse scripts mv.
Hvis du har for mange unikke felter kan du fjerne ikke anvendte felter på følgende (eneste) måde: Lav en kopi af databasen, så forsvinder alle felter der ikke er anvendt i mindst en form fra listen over felter.
For mange felter opstår bl.a. hvis du kopiere en form fra en anden database (f.eks. mail db) og efterfølgende sletter feltern på formen. Så er der stadig en reference til feltet internt i Notes.
du kan ikke fjerne feltet fra formen..... du kan kun cleare det... når du opretter nye dokumenter vil feltet ikke blive oprettet.
jeg mener ikke feltet er i stand til at fortælle lotusscript at det er dette felt det skal bruge... derfor er du først nødt til at definere at det er det felt på formen der er tale om, for at den ikke opretter et nyt felt af "samme" navn
Jeg forstår stadig ikke hvorfor notes mener det er nødvendigt at oprette 2 felter for hver variabel jeg dim'er på en felthandling. Hvorfor bliver de interne felter ikke slettet når jeg så sletter variablen igen? Det betyder jo faktisk at man ikke må lave fejl når man udvikler da notes ikke kan finde ud af at rydde op. Hvis jeg dim'er variabel X i exiting og ikke får brug for den alligevel, ligger der stadig 2 notes interne felter på formularen indtil den dag jeg tager en kopi af basen!
????
kan man lave en "garbage collector" eller sådan noget ?
Du misforstår. Det er ikke 2 felter for hver variabel. Det er 2 interne informationen ("PrivateSubBindings") som oprettes for feltet. Hvis du sletter AL script for et felt fosvinder de 2 $ og $$ entries også. Det er ikke afhængig af hvad du skriver i scriptet (prøv kun at skrive en blank tegn, det give samme resulat). Så længe der er den mindste smule script i et felt findes $ og $$ informationerne. Derfor er det MEGET vigtig, at slette al information i en sub ved at markere alt og dernæst trykke delete. Det er IKKE nok at slette koden mellem Sub (start) og End sub!
Cdelicht -> Jeg beundre meget din omfattende viden, men på dette punkt er din teori måske ok, men det virker ikke i praksis. Jeg slettede alt på feltets exiting, men iflg notespeek findes de 2 felter stadig.
Ved du om disse felter/informationer kan påvirker performance ?
Du skal slette AL script på feltet, entering, initilize, exiting etc. Markere AL kode i hver sub og slette ALT. Performance påvirkes altid af mængden af kode, derfor er det vigtigt at rydde rigtigt op. Vil du være sikker så slet som beskrevet ovenfor. PS: Normalt er en sub markeret blå i oversigten i designer-framen når der er kode i (kun en ramme når der ikke er kode i), men det virker ikke altid. Du er derfor nødt til at bladre gennem samtlige sub for at se om der er kode i.
Ok jeg godtager din forklaring og forslag til hvordan man får ryddet op, men jeg forbeholder mig retten til at udtrykke min utilfredshed med de mennesker som har lavet notes. Jeg ved godt at intet er perfekt, men dette er på top 3 over åndsvage ting man skal udsættes for som udvikler.
syn' lige jeg vil korigere mig selv lidt. Det er muligt at fjerne de overflødige felter på flg måde: - slet fuld tekst indekset - slet xx.ft biblioteket - DROP ALL brugere fra databasen - Fra administrations klienten udføres en komprimering af databasen med option COPY STYLE slået til (- Opret nyt fuld tekst indeks)
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.