Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-05-2018
QuiqueSalamanca QuiqueSalamanca is offline
Miembro
 
Registrado: mar 2014
Posts: 35
Poder: 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
  #2  
Antiguo 08-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por QuiqueSalamanca Ver Mensaje
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...
¿No tienes acceso al fuente para ver de qué hereda ese dataset?
Responder Con Cita
  #3  
Antiguo 08-05-2018
QuiqueSalamanca QuiqueSalamanca is offline
Miembro
 
Registrado: mar 2014
Posts: 35
Poder: 0
QuiqueSalamanca Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿No tienes acceso al fuente para ver de qué hereda ese dataset?
Sí, sí, es un TDataSet de la unit DB...
Responder Con Cita
  #4  
Antiguo 08-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, ¿y el blobfield de dónde viene, lo has mirado?
Responder Con Cita
  #5  
Antiguo 08-05-2018
QuiqueSalamanca QuiqueSalamanca is offline
Miembro
 
Registrado: mar 2014
Posts: 35
Poder: 0
QuiqueSalamanca Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Bueno, ¿y el blobfield de dónde viene, lo has mirado?
Exactamente igual, DB...
Responder Con Cita
  #6  
Antiguo 08-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero del mismo db y tipo?

Es que algo tiene que haber diferente, no puede ser que uno vaya bien y el otro no, así que la diferencia es del tipo que heredan.
Responder Con Cita
  #7  
Antiguo 08-05-2018
QuiqueSalamanca QuiqueSalamanca is offline
Miembro
 
Registrado: mar 2014
Posts: 35
Poder: 0
QuiqueSalamanca Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Pero del mismo db y tipo?

Es que algo tiene que haber diferente, no puede ser que uno vaya bien y el otro no, así que la diferencia es del tipo que heredan.
Exactamente igual, más abajo sale el segundo error que es este:

Código Delphi [-]
 [dcc32 Error] qrpctrls.pas(736): E2010 Incompatible types: 'Data.DB.TDataSet' and 'Data.DB.TDataSet'

Esto es una locura, al final quitaré los más de cincuenta informes de la aplicación y los reharé más adelante, sino queda otra...

EDITO: el anterior error sobre TField y TBlobField también heredan de la misma unit. En algún lado se está quedando gilip*****
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
qreport While . do shoulder Impresión 3 12-11-2012 01:11:07
Actualización QReport 3.5 a Qreport 4 o posteriores Jab Impresión 3 24-08-2010 12:33:20
QReport Iris04 Impresión 0 24-06-2005 14:27:01
QReport Letty Impresión 5 23-02-2004 22:43:27
QReport pablo Impresión 1 03-11-2003 05:07:19


La franja horaria es GMT +2. Ahora son las 19:09:18.


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