In the OpenEvent I prepare some global Timer, load preferenses, set something on the main window (Ausgabefenster) …
You can see it below.
I have a subroutine, to write notifications in a file (all properties with “Fehlerprotokoll” , “Fehler=” mark the reached code). So I can write the reached steps in this file, to figure out, where the trouble starts.
OpenEvent:
[code]dim i,fehler,x,y as integer
dim s,t,n as String
dim f as folderItem
dim Preferencesvorhanden,merkeKonfession, GoOut as Boolean
dim datum as date
GlobalTimer = new timer
GlobalTimer.Period = 0
AddHandler GlobalTimer.action, AddressOf ShowErrorMessage
GlobalTimer.Mode = timer.ModeOff
GlobalHinweisTimer = new timer
GlobalHinweisTimer.Period = 0
AddHandler GlobalHinweisTimer.action, AddressOf ShowHinweis
GlobalHinweisTimer.Mode = timer.ModeOff
GlobalMessageDialogTimer = new timer
GlobalMessageDialogTimer.Period = 0
AddHandler GlobalMessageDialogTimer.action, AddressOf ShowMessageDialog
GlobalMessageDialogTimer.Mode = timer.ModeOff
GlobalSelectFolderTimer = new timer
GlobalSelectFolderTimer.Period = 0
AddHandler GlobalSelectFolderTimer.action, AddressOf ThreadSelectFolderDialog
GlobalSelectFolderTimer.Mode = timer.ModeOff
GlobalRefreshTimer = new timer
GlobalRefreshTimer.Period = 0
AddHandler GlobalRefreshTimer.action, AddressOf GlobalRefresh
GlobalRefreshTimer.Mode = timer.ModeOff
HilfsfensterTimer= new Timer
HilfsfensterTimer.Period=500
HilfsfensterTimer.Mode=Timer.ModeMultiple
AddHandler HilfsfensterTimer.action, AddressOf HilfsfensterAusblenden
kekulezuindexN=new Dictionary
MenuClipboard=new Clipboard
WorkingPath=SpecialFolder.Desktop
'CB=new Clipboard
if GoOut=false then
FehlerprotokollAktuelleMethode.append str(ticks-LastProgTicks)+" Application Open"
LastProgTicks=Ticks
fehler=1
Plugin//mbs plugin registration
fehler=2
programmstart=true//damit noch kein Datensatzrefresh gemacht wird
fehler=3
Base64//zum initialisieren der Decodingtabelle
//Mehrzeilige Texte definieren
LanguagePropertiesDeclaration
AllgemeinesSichern=MenuSpeichernWin
AllgemeinesSichern1=MenuSpeichernAlsWin
MenuDateiSichern=MenuSpeichernWin
MenuDateiSichernAls=MenuSpeichernAlsWin
Butlerinitialisierung=new ButlerInit
startposition=1
fehler=4
submitter.append new submitterclass
fehler=5
if Submitter(0)=nil then
FehlerprotokollAktuelleMethode.append str(ticks-LastProgTicks)+" *** Applikation/Open: Submitterdatensatz(0)=Nil ***"
end
fehler=6
f=getFolderItem("")
fehler=11
If f<>nil then
startpfad=f.AbsolutePath
end
fehler=12
Vorgabensetzen//set properties
fehler=20
BevelMenu.append “1”
BevelMenu.append “2”
BevelMenu.append “3”
BevelMenu.append “4”
BevelMenu.append “5”
BevelMenu.append “6”
BevelMenu.append “7”
BevelMenu.append “8”
BevelMenu.append “9”
BevelMenu.append “41”
BevelMenu.append “10”
BevelMenu.append “11”
BevelMenu.append “12”
BevelMenu.append “13”
BevelMenu.append “14”
BevelMenu.append “15”
BevelMenu.append “16”
BevelMenu.append “17”
BevelMenu.append “18”
BevelMenu.append “19”
BevelMenu.append “20”
BevelMenu.append “21”
BevelMenu.append “22”
BevelMenu.append “23”
BevelMenu.append “24”
BevelMenu.append “25”
BevelMenu.append “26”
BevelMenu.append “27”
BevelMenu.append “28”
BevelMenu.append “29”
BevelMenu.append “30”
BevelMenu.append “31”
BevelMenu.append “32”
BevelMenu.append “33”
BevelMenu.append “34”
BevelMenu.append “42”
BevelMenu.append “43”
BevelMenu.append “35”
BevelMenu.append “36”
BevelMenu.append “37”
BevelMenu.append “38”
BevelMenu.append “39”
BevelMenu.append “40”
BevelMenu.append “44”
fehler=21
Preferencesvorhanden=Preferencesladen//load preferences
LanguagePropertiesLaden("<"+AktuelleSprache+">")//nil=keine Datei übergeben
SetGedcomDateTranslations
fehler=22
s=GroupBoxWidths
if TargetWindows then
fehler=23
Ausgabefenster.GroupBox1.Width=val(NthField(s,",",1))
Ausgabefenster.GroupBox2.Width=val(NthField(s,",",2))
Ausgabefenster.GroupBox3.Width=val(NthField(s,",",3))
Ausgabefenster.GroupBox2.left=35+Ausgabefenster.GroupBox1.Width
Ausgabefenster.TabellenSeparator1(0).Left=Ausgabefenster.GroupBox1.Width+18
Ausgabefenster.TabellenSeparator1(1).Left=Ausgabefenster.GroupBox1.Width+22
Ausgabefenster.TabellenSeparator1(2).Left=Ausgabefenster.GroupBox1.Width+26
Ausgabefenster.GroupBox3.left=55+Ausgabefenster.GroupBox1.Width+Ausgabefenster.GroupBox2.Width
Ausgabefenster.TabellenSeparator1(3).Left=Ausgabefenster.GroupBox2.left+Ausgabefenster.GroupBox2.Width+3
Ausgabefenster.TabellenSeparator1(4).Left=Ausgabefenster.TabellenSeparator1(3).Left+4
Ausgabefenster.TabellenSeparator1(5).Left=Ausgabefenster.TabellenSeparator1(3).Left+8
Ausgabefenster.TabellenSeparator1(3).Visible=true
Ausgabefenster.TabellenSeparator1(4).Visible=true
Ausgabefenster.TabellenSeparator1(5).Visible=true
Ausgabefenster.ListBox1.Width=Ausgabefenster.GroupBox2.Width-18
Ausgabefenster.ListBox2.Width=Ausgabefenster.GroupBox1.Width-18
Ausgabefenster.ListBox3.Width=Ausgabefenster.GroupBox3.Width-18
end
fehler=24
GroupBoxWidths=s
for i=0 to 9// Die Bevelbuttons im Hauptfenster initialisieren (set some properties in the main window
fehler=25
Ausgabefenster.HauptfensterButton(i).Icon=IconSuchen(Ausgabefenster.HauptfensterButton(i),BevelMenu(HauptfensterButtonWert(i)))
Ausgabefenster.HauptfensterButton(i).ButtonType=0
if Ausgabefenster.HauptfensterButton(i).Icon=SchreibschutzOff or Ausgabefenster.HauptfensterButton(i).Icon=SchlossAuf then
Ausgabefenster.HauptfensterButton(i).ButtonType=1
end
fehler=26
if Ausgabefenster.HauptfensterButton(i).Icon=zurueck then
fehler=27
if Ausgabefenster.HistoryZeiger<=0 Then
Ausgabefenster.HauptfensterButton(i).Enabled=False
Ausgabefenster.HauptfensterButton(i).Icon=zurueckh
else
Ausgabefenster.HauptfensterButton(i).Enabled=true
Ausgabefenster.HauptfensterButton(i).Icon=zurueck
end
elseif Ausgabefenster.HauptfensterButton(i).Icon=vor then
fehler=28
if Ausgabefenster.HistoryZeiger<=0 Then
Ausgabefenster.HauptfensterButton(i).Enabled=False
Ausgabefenster.HauptfensterButton(i).Icon=vorh
else
Ausgabefenster.HauptfensterButton(i).Enabled=true
Ausgabefenster.HauptfensterButton(i).Icon=vor
end
else
Ausgabefenster.HauptfensterButton(i).Enabled=true
end
next
fehler=29
Datum=new date
if Datum<>nil then
Datum.Year = 2017
Datum.Month = 10
Datum.Day = 31
s=Datum.ShortDate
if Left(s, 2) = "31" then
DateFormat=0
ElseIf Left(s, 2) = "10" then
DateFormat=1
ElseIf Left(s, 2) = "17" or Left(s, 4) = "2017" then
DateFormat=2
End if
end
fehler=30
Datum=new date
if Datum<>nil then
fehler=31
Datum.TotalSeconds=val(“3.1415927e+9”)
fehler=32
if val(GetYearString(datum))>2000 then
Nachkommatrenner="."
else
Nachkommatrenner=","
end
else
Nachkommatrenner="."
end
fehler=33
Startbutler=ShowButler
ShowButler=false
fehler=7
#if TargetWindows
Pfadtrenner=""
Declare Function GetDoubleClickTime Lib “User32.DLL” () as Integer
doubleClickTime= GetDoubleClickTime()/16
#endif
fehler=8
#if TargetCarbon
#if TargetMachO
Declare Function GetDblTime Lib “Carbon” () as Integer
#else
Declare Function GetDblTime Lib “CarbonLib” () as Integer
#endif
#endif
#if TargetMacOS
Pfadtrenner=":"
doubleClickTime=30//GetDblTime
#endif
#if TargetLinux
Pfadtrenner="/"
doubleClickTime=30
#endif
fehler=9
mauszeiger(8)=app.mouseCursor
fehler=10
fehler=13
if ubound(person)=0 then//initialize first data set
redim person(0)
redim gleichgeschlechtlicheEhe(-1)
redim MehrfachEhe(-1)
redim Fruehgeburt(-1)
redim AltEhe(-1)
redim SpaeteBestattung(-1)
redim AltePersonen(-1)
redim EntbindungInHohemAlter(-1)
kekulezuindexN.clear
redim konfession(-1)
redim KonfessionsKuerzel(-1)
konfession.append AllgemeinesUnbekannt
KonfessionsKuerzel.append “?”
merkeKonfession=LetzteKonfession
LetzteKonfession=false
neuerDatensatz
LetzteKonfession=merkeKonfession
veraendert=false
person(ubound(person)).indexNummer=1
person(ubound(person)).kekuleNummer=1
kekulezuindexN.value(1)=1
kekulesoll=kekulezuindex(1)
aktuellePosition=1
aktuellePositionuebernehmen(aktuellePosition)
stammbaumdatei=nil
end
fehler=14
if aktuellePosition=0 then
kekulesoll=kekulezuindex(1)
aktuellePosition=1
end
fehler=15
if Preferencesvorhanden=false then
fehler=16
OpenInfoWindow=true
Sprachwahl.ShowModal
end
if AktuelleSprache="" then
Sprachwahl.ShowModal
end
if aktuelleLandesfahne<>nil then
Help_Menu.Icon=aktuelleLandesfahne
end
if bemerkungenfensteroffen=true then
bemerkungen.show
Bemerkungen.redraw
end
ShowButler=startbutler
PrefGeladen=true
'programmstart=false
FehlerprotokollAktuelleMethode.append str(ticks-LastProgTicks)+" Application Open (beendet)"
else
FehlerprotokollAktuelleMethode.append str(ticks-LastProgTicks)+" Beenden von FB, weil unter Linux libWebKit fehlt"
quit
end
Exception err
Fehlerbehandlung(err.message,“Applikation/Open Fehlerstelle: “+str(fehler),””,false)…[/code]