Newsgroup: it.comp.lang.delphi
Titolo: Sto impazzendo! Aiuto!

:-((((
Ciao a tutti, non riesco a capire cosa sia successo.
sto facendo un programmino pche si connette ad un server , cambia dir e poi
scarica un file, sempre quello, lo apre e il contenuto lo mette in una
ListBox.
Il primo problema è che la listo box non si aggiorna e se gli metto il
Refresh fa il suono di errore e chiude il programma.
Invece l'altra ListBox con il contenuto dei file della Dir funziona
benissimo.
se tolgo il refresh il programma prosegue, ma quando ha finito e giunge alla
fine della Procedure, di nuovo il suono di errore e chiude il programma.
In tutte e due i casi che emette il suono di errore non visualizza alcuna
scrittta dell'errore.
Non riesco a capire.
Ho pensato a qualche settaggio, ma non mi sembra di aver toccato nulla.
Grazie molte Davide

 :-((((
Ti faccio un cazziatone !  :-)
Se non ci dici che versione di delphi ,quale sistema operativo, che server ,
che protocollo , che componenti , uno stralcio di codice , che c**o fai ,
non ti possiamo aiutare.
Giulio

Forse è meglio se posti il codice
--- posted by geoForum on 
http://www.delphiedintorni.it

Il problema sta tutto qui:
//----------------------------------------------------ControllaUser
Function TMainform.ControllaUser:boolean;
Var f:textfile;
    s:string;
begin
  assignfile(f,'user.txt');
  reset(f);
  while not(eof(f)) do readln(f,s);
  closefile(f);
  if s='No User' then
    begin
      add('- Nessun Utente Attivo');
      result:=true;
    end
  else
    begin
      if s=serialHD then
        begin
          add('- Disconnesso Utente Attivo');
          result:=true;
        end
      else
        begin
          add('- Utente '+s+' connesso');
          result:=false;
        end;
      end;
end;
//------------------------------------------------------------CreaUser
Procedure TMainform.CreaUser;
Var f:textfile;
    s:string;
begin
  add('- Creo File user.txt ');
  if FileExists('user.txt') then deletefile('user.txt');
  assignfile(f,'user.txt');
  rewrite(f);
  writeln(f,SerialHD);
  closefile(f);
end;
****************
Prima scarica il file user.txt dal server poi lo controlla (funzione) e poi
ne crea uno nuovo per essere "Upload" sul server.
Se io elimino queste parti il programma funziona!
Nel file user.txt c'è il seriale del HD se un utente è connesso oppure No
User.
Grazie Davide

Ciao a tutti credo di aver localizzato l'errore qui
//-------------------------------------------------------------SerialHD
function TMainform.SerialHD:string;
var SerialNum : pdword;
    a, b : dword;
    Buffer : array [0..255] of char;
begin
  if GetVolumeInformation('c:\', Buffer, SizeOf(Buffer), SerialNum, a, b,
nil,0) then
    result := IntToStr(SerialNum^);
end;
č una fnzione che ho copiato da internet e quindi non ci capisco molto.
Grazie Davide

 Grazie Davide
-- 
Ciao, Anto', [37, 143, AQ] 
MB C SC 220 CDI Magma Rot
"Di sempre cio' che senti e fai cio' che pensi."
    G.G. Màrquez

Da lo stesso risultato anke cosi:
function TForm1.SerialHd:string;
var
  SerialNum : dword;
  a, b : dword;
begin
  if GetVolumeInformation('C:\', nil, 0, @SerialNum, a, b, nil,0) then
    result := string(IntToHex(SerialNum,0));
end;
Ma l'ho confrontata con il SIW:
 
RISULTATO SIW :Drive Serial Number:	B1K6XMRE	 
RISULTATO FUNZIONE: 10EC785E


 RISULTATO FUNZIONE: 10EC785E
io ho fatto il confronto con Microsoft System Information su
due hd c: f: i serial corrispondo entrambi.



No vabbč era per semplificare...
CMq hai ragione probabilmente il SIW indica un altro parametro :-) Scusa!


 CMq hai ragione probabilmente il SIW indica un altro parametro :-) Scusa!
e de che? ;o)
si ma sto SIW che roba è?


System Info v1.38  © Gabriel Topala Build 510 --- February 04, 2004
Fa la stessa cosa del sys. info di windows ma molto piu dettagliato e 
con delle funzioni in piu
