Ver Mensaje Individual
  #13  
Antiguo 08-05-2018
QuiqueSalamanca QuiqueSalamanca is offline
Miembro
 
Registrado: mar 2014
Posts: 35
Reputación: 0
QuiqueSalamanca Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Exactamente, ¿qué codigo has usado?


Te lo podías haber ahorrado

¡Y tanto que me lo podía haber ahorrado!

Este es el código sin modificar:
Código Delphi [-]
procedure TQRPDBImage.LoadPicture;
var
  S: String;
begin
  if (DataField<>'') and (Dataset<>NIL) then
    begin
      try
        If Not (DataSet.FindField(DataField) is TBlobField) Then // --> En esta linea me da el error
          begin
            S:=ExpandFileName(Dataset.FindField(DataField).AsString);
            If ExtractFileExt(S)='' Then S:=ChangeFileExt(S,'.BMP');
            If FileExists(S) Then Picture.LoadFromFile(S);
          end
        Else
          Picture.Assign(Dataset.FindField(DataField));
      except
      end;
    end;
end;
Y este es el código modificado:
Código Delphi [-]
procedure TQRPDBImage.LoadPicture;
var
  S: String;
  oDS : TDataSet;
begin
  if (DataField<>'') and (Dataset<>NIL) then
    begin
      try
        oDS := TDataSet.Create( nil );
        if not ( oDS.FindField( 'Prueba' ) is TBlobField ) then
          oDS := nil;

        If Not (DataSet.FindField(DataField) is TBlobField) Then
          begin
            S:=ExpandFileName(Dataset.FindField(DataField).AsString);
            If ExtractFileExt(S)='' Then S:=ChangeFileExt(S,'.BMP');
            If FileExists(S) Then Picture.LoadFromFile(S);
          end
        Else
          Picture.Assign(Dataset.FindField(DataField));
      except
      end;
    end;
end;

Solo me da error en el segundo IF NOT, vamos donde me daba antes siendo la condición idéntica.

Lo único que se me ocurre es que DataSet es una propiedad del objeto TQRPDBImage de tipo TDataSet (vamos lo mismo) y que se esté haciendo la picha un lío...
Responder Con Cita