Español
Foro

Merkwürdigkeit en DestroyWindow

 

Dietmar
Horn
¡Hola,
Yo bin encima folgende Merkwürdigkeit gestolpert.

Dieser Code funktioniert:
KompilierenMarcaSeparación
declare tmp$
cls
tmp$ = upper$(Par$(0))
run tmp$
end
/pre>

En el folgenden Code es kein Neustart des Programmes en el Interpretermodus (lo müßte meiner Meinung después de sin embargo wenigstens el Interpreter aufgerufen voluntad):
KompilierenMarcaSeparación
declare tmp$
cls
tmp$ = upper$(Par$(0))
DestroyWindow(%HWnd)
run tmp$
en

Eigentlich Yo doch el nullten Parámetro (also el Dateinamen des eigenen Programmes) con el Stringvariablen gerettet, oder beeinhaltet DestroyWindow ya una end?

Als Compilat trabajo komischerweise beide Varianten.

Gibt lo dafür una logische Erklärung?

Yo habe XProfan 10.

Saludo
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
Yo Profano 6.6, du XProfan 10, en me passiert el gleiche --> probablemente kein Bug ser !

---> DestroyWindow(%HWnd) beinhaltet una end , aber anscheinend sólo en el Interpreter - Modus ... wo es como el Sinn ???


Als Compilat trabajo komischerweise beide Varianten.


Öhm, naja, aber beide se uno no mehr los !


con el Stringvariablen gerettet,


Das bringt por desgracia, no viel, incluso si yo el Programa como folgt en el Interpreter ausführe, no es el cmd geöffnet ! Im Compilat allerdings ya (!)
KompilierenMarcaSeparación
hier en el Compilat y en el Interpreter
KompilierenMarcaSeparación
--> en el DestroyWindow(%HWnd) se el Programa en el Interpreter final, beim Compilat allerdings no !

Vll. se el una Schutz davor ser, dass du el Interpreter en varios Instanzen geöffnet hast, sin lo a 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  
 



Nein kein Schutz sicher una Bug - Yo kann me vorstellen el wm_close oder wm_destroy en el profano.exe-WProc el Exit einleitet - aber dazu muss y kann se eigendlich sólo Roland äußern.

Yo sags sí siempre otra vez: Abschaffung des Interpretermodi! Und wer el trotzdem nutzt... incluso schuld. ;) Es praktisch unmöglich el beide Varianten (IMode y ExeMode) exakt igual trabajo. Also wofür entonces Por favor, el IMode si uno doch eh siempre el EXE weitergibt - y no el Profano.Exe y el Prf!

Dann más bien siempre igual correcto como exe testen y {$cleq} nutzen.

Den Interpretermodus puede ser sin embargo bastante bien como evaluator nutzen. Hierbei wäre lo nun toll si uno z.B. el Profano.Exe uno cada Versión simplemente weitergeben dürfte! (Oder es el así y yo weiß lo sólo no?) Dann podría uno kinderleicht en el eigenen Programmen una propio Untersprache anbieten. Plugins para selberschreiben etc.
 
05.07.2007  
 




Christian
Eichler
Yo persönlich muss sowieos sagen, dass Yo me abgewohnt tener, el Interpretermodus utilizarse, como Yo entonces ya oft, el problema hatte, dass mein Programa en el Interpreter funktionniert y en el Compilat entonces eben no.
Daher compiliere Yo mein Programa igual komplett y luego weiß Yo auch sicher, como y qué algo 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
El Unterschiede zwischen Interpreter- y Compilermodus nerven mich ya seit Jahren.

Grundsätzlich siempre sólo Compilieren y luego Ausführen, el mag para Personas ausreichen, el lediglich Dreizeiler, Demos y kleinere Programas escribir.

Wenn Yo el encima 150000 Zeilen meines XProfan-Managers compiliere, entonces dauert el en mi schnelleren XP-Rechner fast 20 Minuten. Erstelle Yo una komplettes Actualización (also einschließlich Inno-Setup compilieren), entonces warte Yo inzwischen fast una halbe Stunde, a alles fertig es.

In el una unserer PC-Kabinette con 333 MHz-Rechnern y 64 MB RAM kann Yo a diesem Programa nada mehr trabajo, porque como dauert sólo el Compilieren des XProfan-Codes ya fast 2 Stunden ...

Saludo
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 Yo formuliere lo veces así:

150.000 Zeilenprogramme puede deutlich mächtiger ser como z.B. el XProfan-Manager. Yo voluntad en Gotteswillen no Su Programmerkünste en Cuestión stellen pero yo mi el Usted el código muy unkomprimiert (para Menschen determinado bien lesbar) geschrieben hast. Für Menschen bien lesbarer Code es sin embargo kein Qualitätsmerkmal para una funktionierende Software welche sin Code weitergegeben se. Unterteile Su Riesenprogramme doch mejor (ahora insgesammt mi Yo - also no sólo beim XProfanmanager) en Aufgabengebiete y hau no alles en una Source. Seit el el Prozesskommunikation erfunden es (spätestens con SendMessage) es el eigendlich auch muy üblich y Gang y Gebe.

Yo biete Usted gerne a el Source después de el Principio a optimieren welches Yo hier eben angesprochen habe. Einfach porque 4 Augen mehr sehen como 2.

Yo voluntad sagen - Yo escribir auch Riesenprogramme - kein Ver código fuente sin embargo ha más que 50.000 Zeilen porque Yo incluso el código sonst para ineffektiv oder unhandlich halte.

Aber natürlich kann lo trotzdem Gründe geben por qué una Source veces >100t Zeilen haben kann. Aber Yo sería sí irre voluntad si yo Codes programa debería welche derart riesig son dass el Handling no Spaß mehr macht. (En 30min Kompilierzeit machts kein Spaß mehr!) Yo hätte como ya längst una Unterteilungsmöglichkeit gefunden.
 
05.07.2007  
 




RGH
... en para Thema zurückzukommen:

DestroyWindow(%Hwnd) envía una Message, el la ventana principal zerstört. Das zerstören des Hauptfensters kommt el Programmbeendigung igual. Es en el Interpreter genauso como en el fertigen EXE, ...

...aber en el EXE kommt el Message aufgrund ihres erhöhten Tempos (Yo erinnere hier auch a el seltenere Abfrage des Messageloops) sólo después de el Run-Befehl a.

Außerdem rate Yo dringenst su de, el Hauptprogramm brutal y sin Rücksicht en Speicherverluste con un DestroyWindow(%HWnd) a final, pero dazu entweder el Befehl End a benutzen oder eben Run, el después de el Start des otro Programmes en efecto el Programa final ... bastante como ehedem en BASIC.

Saludo
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  
 




Das zerstören des Hauptfensters kommt el Programmbeendigung igual. Es en el Interpreter genauso como en el fertigen EXE, ...


Hiernach debería pero no hay diferencia hacer si Yo una End poner oder una Destroywindow - tut lo aber:
KompilierenMarcaSeparación
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

bastante como ehedem en BASIC.


XProfan es para Glück kein Basic - es syntaktisch zwar a Basic angelehnt aber trotzdem para Glück no Basic. Auch el PiCoPrinzip spricht no para Basic porque lo son Basics con Kompilern welche nativen Code erzeugen y lo son No-Basics welche PiCo erzeugen.

Yo mi sólo - XProfan es sí kein altes Ding pero orientiert se sí a el aktuellen Gegebenheiten. So betrachtet es aber gänzlich falso el destroywindow (y sei lo el api) en %hwnd el Anwendung final. Lo debería como bastante normale Message durchgehen - Yo finde así lo auch esperado - y el es letztendlich mehr entscheidend como bastante como ehedem en BASIC {lo veces war - como lo aber destroywindow no gab} .

Hey, yo mi hier gehts en mi Lieblingsprogrammiersprache - el se trabajo como se gehört. (Und destroywindow es nunmal no terminateprocess oder end) *g*
 
05.07.2007  
 




RGH
Ein DestroyWindow envía una Message, deren Folge el Zerstören des Hauptfensters es, dessen Folge el Beendigung des Programmes es.
Ein FIN wirkt inmediatamente y sorgt dafür, daß el Speicher aufgeräumt, no weitere Programmzeile mehr gelesen y la ventana principal mittels Message destruido. Und como el Abarbeitung des Codes final wurde, es egal como largo el Message unterwegs es y wo el Postzusteller zwischendurch todavía einkehrt.

Saludo
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 es aber gänzlich falso el destroywindow (y sei lo el api) en %hwnd el Anwendung final. Lo debería como bastante normale Message durchgehen - Yo finde así lo auch esperado


Yo sehe el aber genauso. Lo debería posible ser, ser Programa más a führen, si la ventana principal auch final es. Immerhin hay Programas, el gar kein Ventana redactar, el laufen en efecto sin dieses.
WM_DESTROY es una de vielen Message, kein Programmabbruch...
 
05.07.2007  
 



rgh

Ein DestroyWindow envía una Message, deren Folge el Zerstören des Hauptfensters es, dessen Folge el Beendigung des Programmes es.


Sí klar el Yo sí inmediatamente verstanden y yo persönlich bin eben el Meinung el lo hierbei en una Bug es - auch entonces - si el Comportamiento simplemente erklärbar es. Destroywindow darf sólo no a Folge el Beendigung des Programmes haben - el macht no Sinn y es auch no vorhersehbar.
 
05.07.2007  
 




RGH
IF

rgh

Ein DestroyWindow envía una Message, deren Folge el Zerstören des Hauptfensters es, dessen Folge el Beendigung des Programmes es.


Sí klar el Yo sí inmediatamente verstanden y yo persönlich bin eben el Meinung el lo hierbei en una Bug es - auch entonces - si el Comportamiento simplemente erklärbar es. Destroywindow darf sólo no a Folge el Beendigung des Programmes haben - el macht no Sinn y es auch no vorhersehbar.


Es kein Bug, pero wurde bastante bewußt así ya en el allererste Profano-Versión instalado. Das führt bajo anderem dazu, daß el Programa por Schließen des Programmfensters termina, como uno lo de otro Windowsprogrammen gewohnt es, sin daß uno dafür auch sólo una Línea Code programa müßte.

Lo wäre allerdings a überlegen, si uno dieses Feature por una Conjunto-Unterfunktion abstellbar hacer debería. Das wäre entonces una Vorschlag para künftige XProfan-Versionen.

Saludo
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  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

7.090 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie