Viser opslag med etiketten fejl. Vis alle opslag
Viser opslag med etiketten fejl. Vis alle opslag

søndag den 16. februar 2020

Bugs

LibreOffice er et meget kompliceret program, og der er masser af bugs (fejl). Der er en gruppe af personer, som på daglig basis visiterer og kategoriserer de indberettede bugs.

604 bugs, hvoraf 64 er forbedringsønsker, er indberettet i januar 2020 af 363 personer.

607 bugs blev visiteret i januar.

I januar er 555 bugs blevet markeret som løst.
I januar er 83 bugs blevet bekræftet og 222 bugs er blevet rettet.
Ubekræftede bugs er fejl, som ikke umiddelbart kan genskabes, og det er en stor opgave at forsøge at genskabe disse bugs.






lørdag den 10. december 2016

Håndtering af fejl

I de tidligere artikler har jeg ikke gjort meget ud af at håndtere eventuelle fejlsituationer. I denne artikle ser vi på håndtering af meget konkrete fejlsituationer, som vi kan forudse.

En typisk situation som vi ALTID skal tage stilling til, er hver gang vi skal udføre matematisk division. Det kan nemlig meget let gå galt, hvis vi ikke først lige undersøger om vi har 0 (nul) i nævneren (det er forbudt at dele med nul). Et overordnet råd er derfor ALTID kontrolle nævneren før du udfører division.

Et andet eksempel er i artiklen Tekstdokumenters titel (læs artiklen her: https://libreofficedk.blogspot.dk/2016/12/tekstdokumenters-titel.html ), hvor jeg lavede følgende meget simple program:

Sub TitelFraFelt
oMaster = thisComponent.getTextFieldMasters().getByName("com.sun.star.text.fieldmaster.User.Titel")
thisComponent.DocumentProperties.Title = oMaster.Content
End Sub


Der er umiddelbart to situationer som vi bør tage stilling til:
  • Hvad nu hvis dokumentet ikke er et tekstdokument?
  • Hvad nu hvis feltet "Titel" ikke eksisterer?
Det første punkt bør vi altid kontrollere, når vi arbejder med makroer specifikke for tekstdokuemnter.

Denne lille rutine kontrollerer for om dokumentet er et tekstdokument:

If NOT ThisComponent.supportsService("com.sun.star.text.TextDocument") Then
  MsgBox "Det aktuelle dokument er ikke et Writer tekstdokument", 48, "Fejl"
  Exit Sub
End If


Det andet punkt kan vi løse vha. denne linje:

If thisComponent.getTextFieldMasters().hasByName("com.sun.star.text.fieldmaster.User.Titel") then

Makroen i artiklen kunne f.eks. se sådan ud:

Sub TitelFraFelt
rem Kontroller om det er et tekstdokument
If NOT ThisComponent.supportsService("com.sun.star.text.TextDocument") Then
  MsgBox "Det aktuelle dokument er ikke et Writer tekstdokument", 48, "Fejl"
  Exit Sub
End If
rem Kontroller om der findes et felt med navnet Titel
If thisComponent.getTextFieldMasters().hasByName("com.sun.star.text.fieldmaster.User.Titel") then
    oMaster = thisComponent.getTextFieldMasters().getByName("com.sun.star.text.fieldmaster.User.Titel")
    thisComponent.DocumentProperties.Title = oMaster.Content
    Else
      MsgBox "Feltet Titel findes ikke", 48, "Fejl"
    End if
End Sub