Cita:
Empezado por Casimiro Notevi
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 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...