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

 
 
Herramientas Buscar en Tema Desplegado
  #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
 



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 10:41:16.


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