Program nie został poprawnie zamknięty

Jak na siłę zamkniesz Outlock Express to przy następnym uruchomieniu pojawi się komunikat, że program nie został poprawnie zamknięty. Wbrew pozorom jest to bardzo cenna informacja. Każdy zaawansowany program powinien posiadać tą opcję. Tutaj podam prosty sposób jak można to zrobić :

a) W miejscu uruchomienia programu wpisujemy np taki kod :
Call Kontrola
Call Plik

b) W miejscu gdzie kończy się program (np Form_Unload) wpisujemy :
Call UsunTMP

c) W module wpisujemy następujące procedury :

Procedure Kontrola
ChDrive Left(App.Path, 2)
ChDir App.Path
On Error GoTo 2
Open "program.tmp" For Input As #1
Close #1

Msgbox "Program nie został poprawnie zamknięty, może nie działać prawidłowo",48
Kill "program.tmp"
Exit Sub
2
' Wszystko jest OK
End Sub

Procedure Plik
ChDrive Left(App.Path, 2)
ChDir App.Path
Open "program.tmp" For Output As #1
Write #1, 1
Close #1
End Sub

Procedure UsunTMP
ChDrive Left(App.Path, 2)
ChDir App.Path
On Error Resume Next
Kill "program.tmp"
End Sub

A teraz krótkie wyjaśnienie : najpierw jest uruchamiana procedura Kontrola która sprawdza czy w katalogu gdzie jest program jest plik PROGRAM.TMP. Jeśli jest to oznacza, że program nie został prawidłowo zamknięty gdyż procedura kończąca program usuwa ten plik. Procedura Plik która też jest uruchamiana przy uruchamianiu programu, ale po procedurze Kontrola (!!!) tworzy plik TMP. W miejscu gdzie jest instrukcja end musimy napisać UsunTMP aby móc usunąc ten plik. Ogólnie mówiąc, jeśli nie ma pliku to jest OK a jak jest to znaczy, że program go nie skasował bo nie został prawidłowo zamknięty

Jelcyn