|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2000
Città: Castelvetrano e Palermo
Messaggi: 209
|
[Builder C++] Strano comportamento di un loop!!!
Sto realizzando un applicazione con il Builder C++ ed ho notato un comportamento strato.
Ecco il codice in questione: while(recv_buff!=KEY_ESC){ ... err=recv(asock, &recv_buff, 1, 0); Memo1->Lines->Add(AnsiString(recv_buff)); send(asock, &recv_buff, 1, 0); ... } Le linee dell'oggetto Memo1 non vengono visualizzate man mano che vengono ricevute ma tutte assieme quando il ciclo si chiude mentre la funzione send fa in suo lavoro ad ogni ciclo!!! Mi sapreste dare una mano??? THX |
|
|
|
|
|
#2 |
|
Utente sospeso
Iscritto dal: Oct 2002
Messaggi: 2156
|
l'argomento del while è una condizione logica quindi per fare il confronto non devi usare l'operatore di assegnazione = ma quello di confronto ==
prova e fammi sapere. ciao!! |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
|
Re: [Builder C++] Strano comportamento di un loop!!!
Quote:
__________________
---> Lombardp CSS Certified Expert (Master Level) at Experts-Exchange Proud user of LITHIUM forum : CPU technology Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Metti Application->ProcessMessages() subito dopo la scrittura sulla memo.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
Re: [Builder C++] Strano comportamento di un loop!!!
Quote:
metti Memo1->Update(); |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: Castelvetrano e Palermo
Messaggi: 209
|
Quote:
Adesso il mio caro server TELNET funziona perfettamente!!! Effettivamente non conoscevo questa funzione e devo dire che in certi casi risulta veramente utile infatti forza l'applicazione a processare gli eventi che per un motivo qualsiasi sono rimasti in query!!! |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Attento: è un'arma a doppio taglio, imparerai presto perché
Se riesci a risolvere in qualche altro modo sarebbe consigliabile.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2000
Città: Castelvetrano e Palermo
Messaggi: 209
|
Ti riferisci ai casi in cui gli eventi in quere sono troppi??
PS: Non vorrei aprire un altro thread, potresti dirmi come faccio con il builder ad includere tutte le librerie necessarie nell'eseguibile per non avere alcun proplema di portabilità!!! THX |
|
|
|
|
|
#9 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
Quote:
infatti, negli esempi di BCB, si riesce a fare ciò che si vuole, anche ad interrompere il programma, senza che venga fatto uso della Application->ProcessMessages() ma non ci ho mai nasato più di tanto per capirne il funzionamento |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
ehi, isola81 prova questo e dimmi se ti funziona
ShellExecute(0, "print" , "mpagina.htm",NULL, NULL,SW_SHOW ); |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:01.


















