Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2008
Ziara Ziara is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Poder: 0
Ziara Va por buen camino
Hola de nuevo,

entonces si mi columna es la tercera me quedaría así:

Código:
void __fastcall Thread::Mostrarlineas()
{
 TListItem *item = Form1->ListView->Items->Add();
 item->Caption = cadena1;
 item->Caption = Add(cadena2);
 item->Caption = Add(cadena3);
//codigo nuevo
if (item->SubItems->Strings[2] == "TCP")
{
  item->Data = 0;
}
else if (item->SubItems->Strings[2] == "UDP")
{
  item->Data = 1;
}
else
{
  item->Data = 2;
 }

}
Se usa strings[] para concretar la columna no? si entre corchetes escribo 2 me estoy refiriendo a la columna nº3?

Cuando compilo me saca, el builder me saca un error:

no puede convertir un int en un *void

ya que item->data devuelve un *void y estoy asignadole un int.

Había pensando crear una variable para recoger el contenido de item->Data
algo como:

Código:
item->Data = var
pero var tiene que ser un variable que no devuelva nada y no sé qué tipo de variable usar para declarar var.

también había pensado en convertir item->Data en un int:

Código:
int var;
int (item->Data) = var;
pero esto me da el siguiente error:

No se puede modificar un objeto constante.

Hay alguna alternativa?

Gracias.
Responder Con Cita
  #2  
Antiguo 05-08-2008
Ziara Ziara is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Poder: 0
Ziara Va por buen camino
Muy buenas!

Alguien le puede echar un vistazo a este hilo plisss, que se me quedó la duda sin resolver . Y nu se porqué nu me sale...

Gracias de antemano!
Responder Con Cita
  #3  
Antiguo 05-08-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A ver, según yo, item->Data es un apuntador a void para permitir que apunte a lo que necesitemos y bastaría hacer el moldeo:

Código:
(int *) item->Data = 84;
// Saludos
Responder Con Cita
  #4  
Antiguo 05-08-2008
Ziara Ziara is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Poder: 0
Ziara Va por buen camino
Hola!

Agradezco que hayas contestado tan rápido!

Lo he probado, y al compilar me da el error:

Lvalue required

Esto es algo de que la parte Izquierda de la asignación
(int *) item->Data = 1;
es una constante o algo así... pero no lo entiendo...?

Saludos y gracias.
Responder Con Cita
  #5  
Antiguo 06-08-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Ziara, el problema es que item->Data es un puntero de tipo void* como te apuntó roman.

No le puedes asignar un entero o constante
Código:
item->Data = 1; // Error
Te dará error. Asígnale un puntero.
Por ejemplo: asociar a Data una variable hipotética llamada Hipotesis, del tipo que sea.

Código:
item->Data  = (void*)&Hipotesis; // encuentro el puntero y lo convierto a void*
Esto no te dará un error.

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Extraño comportamiento de delphi 7 smessina Varios 5 18-03-2008 12:50:54
Extraño comportamiento de Firebird 2.0 TrUnkS Firebird e Interbase 4 06-01-2007 23:05:57
Comportamiento extraño de DisplayFormat Thales Conexión con bases de datos 0 02-12-2005 21:56:32
Comportamiento extraño de Delphi walrus Varios 3 05-08-2004 10:04:32
Comportamiento extraño con InnoBD brandolin MySQL 0 20-10-2003 14:34:09


La franja horaria es GMT +2. Ahora son las 00:49:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi