![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Buenas primero que nada este es mi primer post y pues un saludo al "Club Delphi"
Para empezar tego un serio problema en la transformacion de Delphi a C ++ Builder 6 pues... con eso de que no hay mucha informacion de cbuilder en cuanto al manejo de bases de datos uno se llega a complicar bastante ... ahora que en delphi pues hay de todo ... bueno pues navegando en el club delphi encontre el "Tutorial Programa Ejemplo Ado, MsAccess (Novatos)" http://wiki.clubdelphi.com/wiki/inde...ría:Tutoriales echo en Delphi y pues 10 puntos.. y al pasarlo a C++ Builder 6 sorpresa el codigo tenia errores en builder (pruebenlo y veran que si da error al compilar)cambie todo de arriba a abajo, lei y re-lei el tutorial (ojo esta bien explicado ) cambie los := por :, el . por ->, respete mayusculas, etc., etc., etc, y pues nada me perdi... Delphi es versatil ¿porque C++ Builder no pudiera serlo?//---Código en Delphi (este es el primer codigo a arreglar que no jala en builder)
//--- Y ésta la codificación en C++ Builder 6 (lo que esta en rojo es donde da el error, porque )Código:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
DTP1->DateTime = Now(); // inicio la fecha al dia de hoy
Banco->Active = true; // activo la tabla
Banco->Last(); // le indico que lea el ultimo registro
SumRet->Active = true; // activo el query
SumDep->Active = true; // activo el query
// coloco el resultado de (SumDep - SumRet) en el edit
ESalTot->Text = FloatToStr(SumDep->Fields[0]->AsFloat - SumRet->Fields[]->AsFloat);
// establecemos los dbedits como desactivados
DBNTransac->Enabled = false;
DBDescrip->Enabled = false;
DBRetiros->Enabled = false;
DBDeposit->Enabled = false;
DBSalAnt->Enabled = false;
// Deshabilitamos el combobox
CBTipo->Enabled = false;
// Deshabilitamos el navegador
DBNavigator1->Enabled = false;
// escondemos los botones, con esto evitamos cometer errores
DBRetiros->Visible = false;
DBDeposit->Visible = false;
}
El mensaje de error: [C++ Error] UBanco.cpp(33): E2288 Pointer to structure required on left side of -> or ->* Cual mi error... o interprete mal las lineas echas en Delphi ? Sera el único error que encontre o habra más? Alguien hizo el tutorial y lo pudo solucionar? De antemano Gracias y suerte a todos los integrantes del "Club Delphi" Saludos amigos... |
|
#2
|
||||
|
||||
|
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); Código:
// coloco el resultado de (SumDep - SumRet) en el edit ESalTot->Text = FloatToStr(SumDep->Fields[0]->AsFloat - SumRet->Fields[0]->AsFloat); 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. |
|
#3
|
|||
|
|||
|
Cierto escafandra me comi el indice que por fuerza si o si debe tener
, no me di cuenta en la codificacion pero aun asi como explico anteriromente el error sale en la parte marcada en rojo Código:
// coloco el resultado de (SumDep - SumRet) en el edit ESalTot->Text = FloatToStr(SumDep->Fields[0]->AsFloat - SumRet->Fields[]->AsFloat); Gracias por la correccion |
|
#4
|
||||
|
||||
|
Prueba esto:
Código:
// coloco el resultado de (SumDep - SumRet) en el edit ESalTot->Text = FloatToStr(SumDep->Fields->Items[0]->AsFloat - SumRet->Fields->Items[0]->AsFloat); Investiga el tipo Fields ¿Aque apunta? Apunta a un objeto o a puntero. Si apunta a un objeto quizas funcione esto: Código:
// coloco el resultado de (SumDep - SumRet) en el edit ESalTot->Text = FloatToStr(SumDep->Fields[0].AsFloat - SumRet->Fields[0].AsFloat); Última edición por escafandra fecha: 07-05-2008 a las 14:39:10. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| linker error en c++ builder 6 | mns | C++ Builder | 2 | 28-04-2008 08:00:02 |
| Ayuda! Necesito Codificar colores en delphi | Noiser | Varios | 2 | 10-04-2008 14:16:05 |
| Error de impresion en el Report Builder | Dark_RavenM | Impresión | 5 | 10-04-2008 01:45:42 |
| Linker error : Problema con c++ builder | waremovil | C++ Builder | 1 | 07-04-2008 11:30:01 |
| Error del linker c++ builder 6 | davomb | C++ Builder | 1 | 07-06-2006 18:23:03 |
|