Français
Forum

Merkwürdigkeit chez DestroyWindow

 

Dietmar
Horn
Salut,
je suis sur folgende Merkwürdigkeit gestolpert.

cette Code funktioniert:
KompilierenMarqueSéparation
declare tmp$
cls
tmp$ = upper$(Par$(0))
run tmp$
end
/pre>

chez dem folgenden Code erfolgt ne...aucune Neustart des Programmes im Interpretermodus (es devrait meiner attitude pour cependant wenigstens qui Interpreter aufgerufen volonté):
KompilierenMarqueSéparation
declare tmp$
cls
tmp$ = upper$(Par$(0))
DestroyWindow(%HWnd)
run tmp$
en

Eigentlich habe je doch den nullten paramètre (alors den Dateinamen des eigenen Programmes) avec qui Stringvariablen gerettet, ou bien beeinhaltet DestroyWindow bereits un end?

comme Compilat marcher komischerweise beide Varianten.

Gibt es pour une logische Erklärung?

j'ai XProfan 10.

Salut
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
05.07.2007  
 




Christian
Eichler
je hab Profan 6.6, du XProfan 10, chez mir passiert cela gleiche --> wird wohl ne...aucune Bug son !

---> DestroyWindow(%HWnd) beinhaltet un end , mais anscheinend seulement im Interpreter - Modus ... wohin ist là qui Sinn ???


comme Compilat marcher komischerweise beide Varianten.


Öhm, bof, mais beide wird on pas plus à l'attaque !


avec qui Stringvariablen gerettet,


cela bringt malheureusement pas viel, selbst si je cela Programme comment folgt im Interpreter ausführe, wird pas qui cmd ouvert ! Im Compilat allerdings déjà (!)
KompilierenMarqueSéparation
ici im Compilat et im Interpreter
KompilierenMarqueSéparation
--> chez dem DestroyWindow(%HWnd) wird cela Programme im Interpreter finissez, beim Compilat allerdings pas !

Vll. soll cela un Schutz devant son, dass du den Interpreter dans mehreren Instanzen ouvert la hâte, sans es trop merken !?
mfg Christian
 
Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6
05.07.2007  
 



non ne...aucune Schutz sûrement un Bug - je peux mir présenter cela wm_close ou bien wm_destroy dans qui profan.exe-WProc cela Exit einleitet - mais en supplément muss et peux sich eigendlich seulement Roland äußern.

je sags oui toujours wieder: abolition des Interpretermodi! et qui den quand même utilise... selbst schuld. ;) c'est pratique unmöglich cela beide Varianten (IMode et ExeMode) exakt juste marcher. alors wofür ensuite s'il te plaît den IMode si on doch eh toujours qui EXE weitergibt - et pas qui Profan.Exe et qui Prf!

ensuite lieber toujours juste richtig comme exe testen et {$cleq} nutzen.

Den Interpretermodus peux on cependant assez bien comme evaluator nutzen. Hierbei wäre es eh bien toll si on z.B. qui Profan.Exe einer jeden Version simple weitergeben pourrait! (ou bien ist cela so et je sais es seulement pas?) ensuite pourrait on kinderleicht dans den eigenen Programmen une eigene Untersprache anbieten. Plugins zum selberschreiben etc.
 
05.07.2007  
 




Christian
Eichler
je personnelle muss sowieos dire, dass je es mir abgewohnt hab, den Interpretermodus trop verwenden, là je ensuite déjà souvent, cela Problem hatte, dass mon Programme im Interpreter funktionniert et im Compilat ensuite plan pas.
Daher compiliere je mon Programme juste komplett et ensuite sais je aussi sûrement, comment et quoi quelque chose funktionniert.

mfg !
 
Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6
05.07.2007  
 




Dietmar
Horn
qui Unterschiede entre Interpreter- et Compilermodus nerven mich déjà depuis Jahren.

Grundsätzlich toujours seulement Compilieren et ensuite Effectuer, cela mag pour gens ausreichen, qui lediglich Dreizeiler, Demos et kleinere Programme écrivons.

si je qui sur 150000 Zeilen meines XProfan-Managers compiliere, ensuite dauert cela sur meinem schnelleren XP-calculateur presque 20 Minuten. Erstelle je un komplettes Update (alors einschließlich Inno-Setup compilieren), ensuite attends je inzwischen presque une halbe heure, jusqu'à alles fertig ist.

dans dem une unserer PC-Kabinette avec 333 MHz-Rechnern et 64 MB RAM peux je à diesem Programme gar pas plus travailler, car là dauert seulement cela Compilieren des XProfan-Codes déjà presque 2 Stunden ...

Salut
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
05.07.2007  
 



Ok je formuliere es la fois so:

150.000 Zeilenprogramme peut deutlich mächtiger son comme z.B. qui XProfan-Manager. je veux um Gotteswillen pas Votre Programmerkünste dans Frage se mettre mais je mon cela Du den Code très unkomprimiert (pour les gens bestimmt bien lesbar) geschrieben la hâte. Pour les gens bien lesbarer Code ist cependant ne...aucune Qualitätsmerkmal pour une funktionierende Software quelle sans Code weitergegeben wird. Unterteile Votre Riesenprogramme doch besser (maintenant insgesammt mon je - alors pas seulement beim XProfanmanager) dans Aufgabengebiete et hau pas alles dans une Source. depuis dem qui Prozesskommunikation erfunden ist (au plus tard avec SendMessage) ist cela eigendlich aussi très üblich et couloir et Gebe.

je biete Dir volontiers à den Source pour dem Prinzip trop optimaliser welches je ici plan angesprochen habe. simple weil 4 Augen plus voyons comme 2.

je veux dire - j'écris aussi Riesenprogramme - ne...aucune Voir le texte source cependant hat plus que 50.000 Zeilen weil je selbst den Code sonst pour ineffektiv ou bien unhandlich halte.

mais naturellement peux es quand même Gründe donner weshalb un Source la fois >100t Zeilen avons peux. mais je serait oui irre volonté si je Codes programmieren devrait quelle derart riesig sommes dass cela Handling keinen Amusement plus pouvoir. (chez 30min Kompilierzeit machts ne...aucune Amusement plus!) je hätte là déjà jadis une Unterteilungsmöglichkeit trouvé.
 
05.07.2007  
 




RGH
... um zum Thema zurückzukommen:

DestroyWindow(%Hwnd) sendet une Message, qui cela Hauptfenster détruit. cela anéantir des Hauptfensters venez qui Programmbeendigung juste. c'est im Interpreter genauso comment dans qui fertigen EXE, ...

...mais dans qui EXE venez qui Message aufgrund ihres erhöhten Tempos (je erinnere ici aussi à qui seltenere Abfrage des Messageloops) seulement pour dem Run-Befehl à.

Aussi taux je dringenst en ab, cela Hauptprogramm brutal et sans Rücksicht sur Speicherverluste avec einem DestroyWindow(%HWnd) trop finissons, mais en supplément entweder den Befehl Fin trop benutzen ou bien plan Run, qui pour dem Start des anderen Programmes oui aussi cela Programme finissez ... entier comment ehedem dans BASIC.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
05.07.2007  
 




cela anéantir des Hauptfensters venez qui Programmbeendigung juste. c'est im Interpreter genauso comment dans qui fertigen EXE, ...


Hiernach devrait mais es keinen Unterschied faire si je un Fin mets ou bien un Destroywindow - tut es mais:
KompilierenMarqueSéparation
usermessages 2
Print Moment...
settimer 2000:waitinput:killtimer
destroywindow(%hwnd)

whileloop 40

    sleep 10

wend

var dlg&=createwindow(0,Oha?,100,100,640,480)
waitinput

entier comment ehedem dans BASIC.


XProfan ist zum Glück ne...aucune Basic - c'est syntaktisch zwar à Basic angelehnt mais quand même zum Glück pas Basic. aussi cela PiCoPrinzip spricht pas pour Basic car il y a Basics avec Kompilern quelle nativen Code erzeugen et il y a pas-Basics quelle PiCo erzeugen.

je mon seulement - XProfan ist oui ne...aucune altes Ding mais orientiert sich oui à den aktuellen Gegebenheiten. So betrachtet ist es mais gänzlich faux cela destroywindow (et sei es qui api) sur %hwnd qui Anwendung finissez. Es sollte comme entier normale Message durchgehen - je trouve so wird es aussi erwartet - et c'est letztendlich plus entscheidend comme entier comment ehedem dans BASIC {es la fois était - comme es mais destroywindow pas donnais} .

Hey je mon ici gehts um mon Lieblingsprogrammiersprache - qui soll marcher comme sich est. (et destroywindow ist nunmal pas terminateprocess ou bien end) *g*
 
05.07.2007  
 




RGH
un DestroyWindow sendet une Message, en Folge cela anéantir des Hauptfensters ist, dessen Folge qui Beendigung des Programmes ist.
un FIN wirkt tout de suite et sorgt pour, qui qui grenier aufgeräumt, aucun weitere Programmzeile plus gelesen et cela Hauptfenster mittels Message détruit wird. et là qui Abarbeitung des Codes finissez wurde, ist es égal comment longtemps qui Message unterwegs ist et wohin qui Postzusteller zwischendurch encore einkehrt.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
05.07.2007  
 




Frank
Abbing

So betrachtet ist es mais gänzlich faux cela destroywindow (et sei es qui api) sur %hwnd qui Anwendung finissez. Es sollte comme entier normale Message durchgehen - je trouve so wird es aussi erwartet


je vois cela mais genauso. Es sollte possible son, son Programme plus trop mener, si cela Hauptfenster aussi finissez ist. Immerhin gibt es Programme, qui gar ne...aucune la fenêtre erstellen, qui courir oui aussi sans cet.
WM_DESTROY ist une de vielen Message, ne...aucune Programmabbruch...
 
05.07.2007  
 



rgh

un DestroyWindow sendet une Message, en Folge cela anéantir des Hauptfensters ist, dessen Folge qui Beendigung des Programmes ist.


oui bien sûr cela habe je oui tout de suite verstanden et je personnelle suis plan qui attitude cela es sich hierbei um une Bug handelt - aussi ensuite - si cela Verhalten simple erklärbar ist. Destroywindow darf arrêt pas zur Folge qui Beendigung des Programmes avons - cela fait keinen Sinn et ist aussi pas vorhersehbar.
 
05.07.2007  
 




RGH
iF

rgh

un DestroyWindow sendet une Message, en Folge cela anéantir des Hauptfensters ist, dessen Folge qui Beendigung des Programmes ist.


oui bien sûr cela habe je oui tout de suite verstanden et je personnelle suis plan qui attitude cela es sich hierbei um une Bug handelt - aussi ensuite - si cela Verhalten simple erklärbar ist. Destroywindow darf arrêt pas zur Folge qui Beendigung des Programmes avons - cela fait keinen Sinn et ist aussi pas vorhersehbar.


c'est ne...aucune Bug, mais wurde entier bewußt so déjà dans qui allererste Profan-Version incorporé. cela führt sous anderem en supplément, qui cela Programme par Schließen des Programmfensters finissez wird, so comment on es de anderen Windowsprogrammen gewohnt ist, sans qui on pour aussi seulement une la ligne Code programmieren devrait.

Es wäre allerdings trop überlegen, si on cet Feature par une Set-Unterfunktion abstellbar faire sollte. cela wäre ensuite un Vorschlag pour künftige XProfan-Versionen.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
05.07.2007  
 




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

7.077 Views

Untitledvor 0 min.
Ju10.03.2017
Andreas Koch25.01.2012
Alexander Zur Hoerst18.01.2012

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