with ListView1.Items.Add do begin SubItems.Add( ADOTable1.Fields[0].AsString ); SubItems.Add( ADOTable1.Fields[1].AsString ); Data := pointer(ADOTable1.Fields[2].AsInteger); <--- Puntero Data end;
Hasta ahora voy bien, el problema es como obtener ese valor, estoy haciendo una pequeña consulta que depende de ese valor:
ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text := 'DELETE FROM Canciones WHERE ID = :Cod'; ADOQuery1.Parameters.ParamByName('Cod').Value := ListView1.Items[ListView1.ItemIndex].Data; //Aquí el problema ADOQuery1.ExecSQL;
Me da el siguiente error:
[Error] Unit1.pas(116): Incompatible types: 'Variant' and 'Pointer'
¿Cómo obtengo el valor de ese puntero en la consulta?.
Saludos.