Ver Mensaje Individual
  #4  
Antiguo 28-02-2008
aonarres aonarres is offline
Registrado
 
Registrado: feb 2008
Posts: 3
Reputación: 0
aonarres Va por buen camino
Stack Overflow

Hola,
Gracias por tu respuesta, lo he leido y lo tendré en cuenta.
Intenteré ser más explícito.
El programa abre una serie de conexiones DDE para recibir datos, de la siguiente forma:
DDEConvUlt := TDDEClientConv.Create(self);
with DDEConvUlt do begin
OnOpen := DdeClientConv1Open;
OnClose := DdeClientConv1Close;
SetLink('PROGRAM',ticker);
OpenLink;
end;
DDEItemUlt := TDDEClientItem.Create(self);
with DDEItemUlt do begin
DdeConv := DDEConvUlt;
DdeItem := 'DATA';
OnChange := DdeClientUltChange;
end;

En el metodo DdeClientUltChange, realizo la gestión de los datos nuevos que llegan, que muestro en una tabla
StringGrid1.Cells[1,ireg] := floattostr(DDEItemUlt.Text);
En algún caso, un dato va para más de una tabla de la aplicación.

Las conexiones se hacen correctamente y los datos llegan bien. Pasado un tiempo, una hora o así, la aplicación que sirve los datos (PROGRAM) parece que se queda colgada (probablemente porque no puede servir más datos), un par de minutos después mi aplicación da el mensaje de Stack Overflow y se cierra. La aplicación que sirve los datos entonces vuelve a estar normal.

Saludos.
Andrés.
Responder Con Cita