Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-12-2022
LDD LDD is offline
Miembro
 
Registrado: ago 2003
Posts: 48
Poder: 0
LDD Va por buen camino
NVIEWLIB en windows 11/DX 10.4

Hola de nuevo.

Tengo un problema con la llamada a NViewLibLoad de nViewLib.dll

No sé si el problema está en mi DELPHI DX 10.4 o es de Windows 11

Var mimagenenpchar : pChar
bmp : tBitmap;
.
.
bmp := TBitmap.Create;
mimagenenpchar := pchar('C:\programas\test\camarero_02.bmp');
bmp.handle := nViewload(mimagenenpchar, False); <- aquí obtengo mensaje "Error loading C"

Es como si el array que convierte pchar sólo leyera el primer caracter de la cadena del fichero de imagen "C"

¿Sabéis qué está ocurriendo?

Gracias
Responder Con Cita
  #2  
Antiguo 15-12-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Responder Con Cita
  #3  
Antiguo 15-12-2022
LDD LDD is offline
Miembro
 
Registrado: ago 2003
Posts: 48
Poder: 0
LDD Va por buen camino
Smile Mmmm , ¿ te has equivocado de foro o de mensaje ?

Gracias Casimiro, pero creo que no es esto lo que yo preguntaba
Responder Con Cita
  #4  
Antiguo 15-12-2022
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Cita:
Empezado por LDD Ver Mensaje
Gracias Casimiro, pero creo que no es esto lo que yo preguntaba
No! no se equivocó. Casimiro es la IA (Inteligencia Artesanal ) encargada de recordarnos cuando no cumplimos las normas y guía de estilo de nuestro foro. (Te invito a leerla)

Ahora, con lo del error! ¿No será que la DLL tiene alguna falla? ¿O no tienes la versión correcta? ¿tienes documentación de esa DLL?

Usando la bola de cristal y leyendo un post anterior tuyo, creo que este error se te presenta al usar un componente que a su vez usa la DLL en cuestión.

En el código del componente encuentro que lo usan de una manera parecida a esta, y efectivamente genera el error que comentas.

Código Delphi [-]
function NViewLibLoad(FileName : PChar; ShowProgress: BooLean):hbitmap; Stdcall; external 'NViewLib.dll';

procedure TForm1.Button1Click(Sender: TObject);
  procedure callNViewLibLoad(FileName: string; ShowProgress: Boolean);
  var
    bmp: TBitmap;
    lPchar: PChar;
    len: Integer;
  begin
    len := Length(FileName) + 1;
    bmp := TBitmap.Create;
    try
      lPchar := StrAlloc(len+1);
      StrPLCopy(lPChar, FileName, len);
      bmp.Handle := NViewLibLoad(lPchar, ShowProgress);
    finally
      bmp.Free;
    end;
  end;
begin
  callNViewLibLoad('C:\000.bmp', False); //Error loading C
end;

Pero, leyendo también el componente, veo que lo que quieren es dibujar el bmp en un canvas (imagino que el de un reporte), cosa que tu podrías solventar de otras maneras y sin necesidad de usar esa DLL. Por ej:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
  procedure DrawBitmap(FileName: string; ACanvas: TCanvas);
  var
    bmp: TBitmap;
  begin
    bmp:= TBitmap.Create;
    try
      bmp.LoadFromFile(FileName);
      ACanvas.Draw(0, 0, bmp);
    finally
      bmp.Free;
    end;
  end;
begin
  DrawBitmap('C:\000.bmp', Self.Canvas); //Carga el BMP en el formulario
end;

Entonces, si no quieres depender de esa DLL. Lo que podrías hacer es reemplazar su uso por funciones de la VCL.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #5  
Antiguo 17-12-2022
LDD LDD is offline
Miembro
 
Registrado: ago 2003
Posts: 48
Poder: 0
LDD Va por buen camino
Smile Gracias Movorack PROBLEMA RESUELTO

La libreria es correcta, incluso bajé la version más reciente de NVIEWLIB.DLL del año 2022

Pero en realidad estoy haciendo un upgrade de una aplicación en Delphi 6.

En cualquier caso tienes razón, no había motivo para usarla, puedo dibujar directamente en el canvas y... PROBLEMA RESUELTO

Muchas gracias, a veces nos obcecamos con opciones innecesarias.
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
Aplicación hecha con Delphi 10.2 no funciona en Windows 10, pero sí en otros windows lgarcia Varios 5 09-07-2018 10:13:21
¿Estás pensando en actualizar Windows? Te encantará Windows 10 nlsgarcia La Taberna 6 25-02-2015 10:38:40
Compartir archivos entre Windows Vista sobre VirtualBox y Windows XP como host mlara Windows 2 27-03-2009 09:27:28
Microsoft autoriza a los fabricantes a instalar Windows XP en vez de Windows Vista Ñuño Martínez Noticias 4 26-09-2007 06:11:19
Windows cede ante Google y modificará Windows Vista Bicho Noticias 5 20-06-2007 23:31:04


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


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