Français
Forum

Erledigt: Programme läßt sich pas finissons

 
- page 1 -



Peter
Gückstock
Salut,

habe un Problem beim finissons eines Programms
cela Programme wird sur une Button normal finissez et ist aussi vom Bildschirm verschwunden.
Im Taskmanager läuf qui prozess mais plus, d.h. qui Interpreter bleibt aktiv. aussi qui EXE des Programms verhält sich so.
avez son une Tip zur Fehlersuche ou bien une concept quoi soetwas verursachen peux?
Habe déjà 2 Tage avec Grübeln verloren.

vielen Dank
 
Peter G.
Win XP, XProfan10
16.11.2008  
 



 
- page 2 -


bien sûr cela mag aussi scheinbar aider, bleibt mais Fusch qui à anderer Stelle wieder zum Vorschein venons peux.

Ist mais Wurscht, si es car ausreiche...
 
17.11.2008  
 




Peter
Gückstock
Salut,

j'ai maintenant seulement la fois den Hauptteil angehängt. sous VISTA et XProfan 11 (avec dem neusten Update de Roland)
bleibt qui Prozess pour dem finissons des Programms bestehen et unetr Windows XP et XProfan 10
stürzt XProfan pour dem finissons des Programms ab
vraie zum Verzweifeln, car alle anderen Programme marcher.

Aider,Aider....
KompilierenMarqueSéparation
 $I PROFALT.INC
 $I SKControl.inc
 $I Listview_Funktionen.inc
 $I WFMCAL.INC
declare image#,string#,h1&,h2&,h3&,h4&,h5&,h6&
Buttons
declare Feiertage&,DateButton1&,DateButton2&,ladenals&,speichernals&,Jubilar&,info&,adress&
declare adresse%,Jubilar%,ende&,beenden&,progende%
declare Text%
Dialoge_Controlls
declare MonthCal1&,Jubibox%,listview_Jubi&,Adressbox&
Farben für Kalender
declare bg&,txt&,titlebg&,titletext&,calcol&,month&
für DLL
declare skDll&,lvdll&
skDll& = UseDll("SKControl.dll")
lvdll& = usedll("Listview.dll")
SKCtrl_InitDll()
=======================Hauptprogramm============================================
SetTrueColor 1
WindowStyle 16
WindowTitle "PGM    Terminplaner  lite        Version alfa 0.1"
Window 100,100-900,600
cls RGB(210,210,210)
SetDialogFont 1
UseFont "Batang",10,0,0,0,0
startPaint %Hwnd
Usebrush 1,RGB(160,160,160)
RoundRect 4,8-878,52;10,10
endpaint
---------------Buttons-----------------------------------------------
dim image#,255
dim string#,255
string image#,0 = @add$(GetDir$("@"),"\feier.rle")
string string#,0 = ""
Feiertage& = SKCtrl_CreateClrImageButton(%Hwnd,image#,string#,0,0,RGB(110,40,20),RGB(234,234,234),540,10,40,40,%hInstance)
Create("Tooltip",%HWnd,Feiertage&,"Die Feiertage werden berechnet!")
string image#,0 = @add$(GetDir$("@"),"\ok.rle")
string string#,0 = "laden      "
DateButton1& = SKCtrl_CreateClrImageButton(%Hwnd,image#,string#,0,0,RGB(110,40,20),RGB(160,160,160),10,10,110,40,%hInstance)
string image#,0 = @add$(GetDir$("@"),"\ok.rle")
string string#,0 = "sichern"
DateButton2& = SKCtrl_CreateClrImageButton(%Hwnd,image#,string#,0,0,RGB(110,40,20),RGB(160,160,160),120,10,115,40,%hInstance)
string image#,0 = @add$(GetDir$("@"),"\laden.rle")
string string#,0 = ""
ladenals& = SKCtrl_CreateClrImageButton(%Hwnd,image#,string#,0,0,RGB(110,40,20),RGB(234,234,234),300,10,40,40,%hInstance)
h1&=Create("Tooltip",%HWnd,ladenals&,"Datei manuell laden!")
string image#,0 = @add$(GetDir$("@"),"\speichern.rle")
string string#,0 = ""
speichernals& = SKCtrl_CreateClrImageButton(%Hwnd,image#,string#,0,0,RGB(110,40,20),RGB(234,234,234),340,10,40,40,%hInstance)
h2&=Create("Tooltip",%HWnd,speichernals&,"Datei speichern als..!")
string image#,0 = @add$(GetDir$("@"),"\fett.rle")
string string#,0 = ""
Jubilar& = SKCtrl_CreateClrImageButton(%Hwnd,image#,string#,0,0,RGB(110,40,20),RGB(234,234,234),400,10,40,40,%hInstance)
string image#,0 = @add$(GetDir$("@"),"\help.rle")
string string#,0 = ""
info& = SKCtrl_CreateClrImageButton(%Hwnd,image#,string#,0,0,RGB(110,40,20),RGB(234,234,234),440,10,40,40,%hInstance)
string image#,0 = @add$(GetDir$("@"),"\lupe.rle")
string string#,0 = ""
adress& = SKCtrl_CreateClrImageButton(%Hwnd,image#,string#,0,0,RGB(110,40,20),RGB(234,234,234),480,10,40,40,%hInstance)
h5&=Create("Tooltip",%HWnd,speichernals&,"Adresse suchen!")
jubilar%=@Create("Button",%Hwnd,"Jubiläen eintragen",5,550,150,20)
adresse%=@Create("Button",%Hwnd,"Adressen eintragen",155,550,150,20)
string image#,0 = @add$(GetDir$("@"),"\ende.rle")
string string#,0 = ""
ende& = SKCtrl_CreateClrImageButton(%Hwnd,image#,string#,0,0,RGB(110,40,20),RGB(234,234,234),830,10,40,40,%hInstance)
h6&=Create("Tooltip",%HWnd,ende&,"Das Programm wird beendet!")
SetStyle h1&,$0000040  Style für ToolTips
SetStyle h2&,$0000040
SetStyle h3&,$0000040
SetStyle h4&,$0000040
SetStyle h5&,$0000040
SetStyle h6&,$0000040
----CONTROLS--------------------
text% = Create("RichEdit",%HWnd,"",300,90,550,350)
SendMessage(text%,$0443,0,rgb(200,200,180))
Let MonthCal1&=Control("SysMonthCal32","",$54800005,10,60,220,175,%hwnd,0,%hinstance,$0)
Jubibox%=@Create("ListBox", %Hwnd, 1, 10, 250, 220, 150)
listview_Jubi&=CreateListview(%Hwnd,%hinstance,0,Rgb(255,255,255),-1,$31)
InsertColumn listview_Jubi&,"Monat",100,0
InsertColumn listview_Jubi&,"Tag",50,0
InsertColumn listview_Jubi&,"Name",220,0
InsertColumn listview_Jubi&,"Text",380,0
AutoSortListview listview_Jubi&,2,2,2,2
Adressbox&=CreateListview(%Hwnd,%hinstance,0,Rgb(255,255,255),-1,$31)
InsertColumn Adressbox&,"Name",160,0
InsertColumn Adressbox&,"Vorname",120,0
InsertColumn Adressbox&,"Firma",180,0
InsertColumn Adressbox&,"Strasse",150,0
InsertColumn Adressbox&,"Postleizzahl",80,0
InsertColumn Adressbox&,"Ort",180,0
InsertColumn Adressbox&,"Telefon",120,0
InsertColumn Adressbox&,"Mobil",120,0
InsertColumn Adressbox&,"E-Mail",190,0
ShowListView(Adressbox&,4,450,878,80)
InitMessages(%Hwnd)
-------------- Farben für Kalender --------------------------------------------------
bg&= rgb(255,255,0)
txt&=rgb(0,0,0)
titlebg&= rgb(255,0,241)Farbe für Titelzeile, Wochentage und Wochenzahlen
titletext&= rgb(255,255,0)Titelfarbe des Monatsnamens
calcol&= rgb(255,255,255) Farbe des Fensters
month&= rgb(192,192,192)
setmccolors(monthcal1&,bg&,txt&,titlebg&,titletext&,calcol&,month&)
----------- Steuerung der Aktionen --------------------------------

WhileNot ende&=1

    WaitInput
    ------------------------------------------------------------------------

    If GetFocus(Jubilar%)

        jubi

    endif

    ------------------------------------------------------------------------

    If GetFocus(adresse%)

        Adressen

    endif

    -------------------------------------------------------------------------

    If GetFocus(DateButton1&)             Aufruf Dialog zum Laden/Speichern

        Dim DateTimePick#,20
        DTP_GETSYSTEMTIME(MonthCal1&,DateTimePick#)
        Let Meldung$ = Str$(word(DateTimePick#,6));".";Str$(word(DateTimePick#,2));".";Str$(word(DateTimePick#,0))
        Monat$= Str$(word(DateTimePick#,2))
        Dispose DateTimePick#
        Eintrag_laden

    Endif

    -------------------------------------------------------------------------------

    If GetFocus(DateButton2&)             Aufruf Dialog zum Laden/Speichern

        Dim DateTimePick#,20
        DTP_GETSYSTEMTIME(MonthCal1&,DateTimePick#)
        Let Meldung$ = Str$(word(DateTimePick#,6));".";Str$(word(DateTimePick#,2));".";Str$(word(DateTimePick#,0))
        Dispose DateTimePick#
        Eintrag_speichern

    Endif

    ------------------------------------------------------------------------------

    if getfocus(beenden&)

        @destroywindow(Feiertagdialog&)

    endif

    -------------------------------------------------------------------------------

    if getfocus(speichernals&)

        datei_speichernals

    endif

    ---------------------------------------------------------------------------------

    if getfocus(ladenals&)

        Datei_LadenAls

    endif

    ---------------------------------------------------------------------------------

    if getfocus(Feiertage&)

        Feiertage

    endif

    ----------------------------------------------------------------------------------

    if getfocus(Jubilar&)

        jubi_manuell

    endif

    -------------------------------------------------------------------------------------

    IF GETFOCUS(Info&)

        info

    endif

    -------------------------------------------------------------------------------------

    IF GETFOCUS(adress&)

        suchen

    endif

    --------------------------------------------------------------------------------------

    If getfocus(ende&)

        progende%=@Messagebox("Soll das Programm ohne speichern beendet werden?","ACHTUNG",308)

        if progende%=6

            @destroywindow(Aktionsdialog&)
            ende&=1

        endif

    endif

    ----------------------------------------------------------------------------------------

endwhile

freedll lvdll&
freedll skdll&
 href='./../../funktionsreferenzen/XProfan/dispose/'>dispose image#
dispose string#
end
 
Peter G.
Win XP, XProfan10
17.11.2008  
 



Du musst déjà alle notwendigen Fichiers anhängen, z.B. dans einer ZIP-Dossier, avec cela es possible chacun testen peux - si Du cela veux.

j'ai z.B. weder qui Comprend encore DLL pour.

là qui SKControl.dll et Listview.dll "läuft" wäre la première Frage à qui jeweiligen Auteurs: Eigene Threads?

si jeweils oui, ensuite peux on beide DLL so pas nutzen, sans den Hauptthread des XProfan dans péril trop apporter. (Abstürze, Fehlermeldungen, ...)
 
17.11.2008  
 




Frank
Abbing
qui Listview.dll erzeugt aucun Threads.

Mir ist aufgefallen, im Code wird un InitMessages(%Hwnd) benutzt, mais ne...aucune CloseMessages(%Hwnd). là ici beide Dlls wohl cela Hauptfenster subclassen, ist aussi qui Reihenfolge qui Dlls beim débrancher des Subclassings einzuhalten. qui sicherste Methode ist mais dans chaque le cas, cela Hauptfenster trop anéantir. avec cela wird qui gesubclasste WindowProc sur jeden le cas entfernt, et qui externe Code wird pas plus fonctionnement, qui u. U. den Absturz erzeugt. cela hat avec Fusch rein gar rien trop 1faire.
 
17.11.2008  
 



Gebe Fank droite
vais dans meiner Beendigungsprocedur so avant:

PROC finissons
Delete Object..... alle Fonts usw...
CloseMessages(qui jeweilige la fenêtre-variable) écrit qui Aider qui LISTVIEW.DLL avant
Destroywindow(%HWnd) - avec cela wird alles détruit
EE%=1 ...dépendant de qui Boucle im Programme - si EE% auparavant 0 était
FIN Rückfall dans vieille Basic-Zeiten aus purer Gewohnheit
ENDPROC

c'est seulement un Beispiel et sieht de Programme trop Programme anders aus. Allerdings wird avec cette Art des finissons aussi anstanslos finissez. Ende ;)
 
17.11.2008  
 




E.T.
Hab plan la fois un älteres Prog de mir rausgesucht, welches qui SKControl.dll utilise.
aussi cet Dll erzeugt (chez mir ) wärend des Programme-Ablaufs aucun eigenen Threads.
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
17.11.2008  
 



Ok, ensuite peut wir chez qui skcontrol peut-être de Timern sortir, quoi aucun Probleme faire sollte, besonders si le Minuteur per subClassing abgefragt volonté.


qui sicherste Methode ist mais dans chaque le cas, cela Hauptfenster trop anéantir. avec cela wird qui gesubclasste WindowProc sur jeden le cas entfernt, et qui externe Code wird pas plus fonctionnement, qui u. U. den Absturz erzeugt.


c'est so simple seulement faux - c'est moi mais Wurstegal si avec cela une Solution trouvé wurde, qui (pas) funktioniert.
 
17.11.2008  
 




Frank
Abbing
iF
Ok, ensuite peut wir chez qui skcontrol peut-être de Timern sortir, quoi aucun Probleme faire sollte, besonders si le Minuteur per subClassing abgefragt volonté.

iF
qui sicherste Methode ist mais dans chaque le cas, cela Hauptfenster trop anéantir. avec cela wird qui gesubclasste WindowProc sur jeden le cas entfernt, et qui externe Code wird pas plus fonctionnement, qui u. U. den Absturz erzeugt.


c'est so simple seulement faux - c'est moi mais Wurstegal si avec cela une Solution trouvé wurde, qui (pas) funktioniert.


iF
avec cela wird qui gesubclasste WindowProc sur jeden le cas entfernt, et qui externe Code wird pas plus fonctionnement, qui u. U. den Absturz erzeugt.


c'est faux, dass qui Aussage faux ist. je lasse mich mais volontiers umstimmen, sobald du cela Gegenteil bewiesen la hâte.
 
17.11.2008  
 



Nunu, komische Formel
 
17.11.2008  
 




E.T.
alors, c'est faux, là qui Aussage faux ist ??

Sollten den, si je mon (X)Profan-Prog (réglé) finis, eigentlich alle Threads, quelle mon Prog erzeugt,
aussi avec finissez volonté ??

si je Word, Excel ou bien Paintshop ou bien sonst irgendwelches Programme finis, doit je doch aussi pas chercher,
si encore quoi en fonctionne.

et si je meinem XProfan-Prog sage: ENDE!! (dans forme de FIN), ensuite vais je en aus, cela aussi wirklich alles finissez wird !!
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
18.11.2008  
 



exposition la fois quoi chez ExitProcess [...]  alles passiert, anders comme chez [...]  welches Verhalten Du oui plutôt beschreibst. Fin pouvoir wohl ExitProcess.
 
18.11.2008  
 




Peter
Gückstock
allô Profaner,

vielen Dank pour qui Tipps,
je crois ,dass Je l' faute trouvé habe. là je avec den $H windows.ph,$H structs.ph,$H messages.ph,$H commctrl.ph
et $H shellapi.ph arbeite, habe je beim finissons "OnApplicationExit" oublier qc. maintenant funktioniert alles.

Salut Peter
 
Peter G.
Win XP, XProfan10
28.11.2008  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

12.966 Views

Untitledvor 0 min.
AndreasS12.12.2018
Georg Teles19.03.2016
Alexander Zur Hoerst18.01.2012
Peter Max Müller11.12.2011

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie