Ver Mensaje Individual
  #2  
Antiguo 06-05-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Reputación: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No lo he analizado con mucho detalle, pero a primer golpe de vista encuentro un error. No se si será un error de mera transcripción:

Código:
   // coloco el resultado de (SumDep - SumRet) en el edit
   ESalTot->Text = FloatToStr(SumDep->Fields[0]->AsFloat - SumRet->Fields[]->AsFloat);
El operador [] debe contener un indice:
Código:
   // coloco el resultado de (SumDep - SumRet) en el edit
   ESalTot->Text = FloatToStr(SumDep->Fields[0]->AsFloat - SumRet->Fields[0]->AsFloat);
En ocasiones el operador [] no tiene la misma sintaxis en delphi que en Builder. Para Builder, que es C++ ese operador referencia elementos de un array definido por un puntero. Esto es así mientras no esté sobrecargado. Como los objetos basados en VCL son todos punteros, ese operados no puede estar sobrecargado, para este tipo de objetos.

En ocasiones se debe utilizar sobre una variable llamada Items... que no aparece en delphi.

Para C++ el operador -> se utiliza cuando se llama desde un puntero a un objeto (como lo son los derivados de VCL) y el operador punto "." se utiliza cuando el objeto no es un puntero. Esta forma tan estricta está diseñada para evitar errores con punteros, de forma que obliga al programador a conocer, en todo momento, si está trabajando con punteros o con objetos propiamente dichos.

No se si me paso explicando obiedades, pero al preguntar por la "versatilidad" del delphi ma ha parecido oportuno.

Saludos.

Última edición por escafandra fecha: 07-05-2008 a las 14:33:28.
Responder Con Cita