Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-06-2024
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 273
Poder: 16
darkamerico Va por buen camino
Red face modificaciones a tu codigo

Amigo hice algunas cosas en tu codigo:

Código Delphi [-]

function EsWindows64Bits: Boolean;
type
  TIsWow64Process = function(Handle: THandle; var Res: BOOL): BOOL; stdcall;
var
  IsWow64Result: BOOL;
  IsWow64Process: TIsWow64Process;
begin
  Result := False;
  IsWow64Process := GetProcAddress(GetModuleHandle('kernel32.dll'), 'IsWow64Process');
  if Assigned(IsWow64Process) then
  begin
    if IsWow64Process(GetCurrentProcess, IsWow64Result) then
    begin
      Result := IsWow64Result;
    end;
  end;
end;

procedure TfrmPrincipal.Button1Click(Sender: TObject);
var
  rutaSistema, rutaFileLocal, Destino:string;
  FO:TSHFileOpStruct;
  lbTerminar:Boolean;
begin
  rutaFileLocal:=ExtractFilePath(Application.ExeName);
  if EsWindows64Bits then
  begin // Si Windows es de 64 bits copio y pego las dos DLL en System 32
    rutaSistema:='C:\Windows\SysWOW64\';

    if not FileExists(rutaSistema + 'WebView2Loader_x64.dll') then
    begin
      Destino := 'C:\Windows\SysWOW64';

      ZeroMemory(@FO, SizeOf(FO));
      FO.Wnd := 0;
      FO.wFunc := FO_COPY;
      FO.pFrom := PChar(rutaFileLocal+'Files\WebView2Loader_x64.dll' + #0);
      FO.pTo := PChar(Destino + #0);
      FO.fFlags := FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;

      if SHFileOperation(FO) <> 0 then
        Application.MessageBox(PChar('Hubo un error con WebView2Loader_x64.dll'), PChar('OK'),MB_OK + MB_ICONERROR)
      else
        lbTerminar:=True;
    end;
  end
  else // 32 Bits
  begin
    rutaSistema:='C:\Windows\System32\';

    if not FileExists(rutaSistema+'WebView2Loader_x86.dll') then
    begin
      Destino := 'C:\Windows\System32';

      ZeroMemory(@FO, SizeOf(FO));
      FO.Wnd := 0;
      FO.wFunc := FO_COPY;
      FO.pFrom := PChar(rutaFileLocal+'Files\WebView2Loader_x86.dll' + #0);
      FO.pTo := PChar(Destino + #0);
      FO.fFlags := FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;

      if SHFileOperation(FO) <> 0 then
        Application.MessageBox(PChar('Hubo un error con WebView2Loader_x86.dll'), PChar('Ok'),MB_OK + MB_ICONERROR)
      else
        lbTerminar:= true;
     end;
  end;
end;

Última edición por darkamerico fecha: 28-06-2024 a las 17:20:06.
Responder Con Cita
  #2  
Antiguo 28-06-2024
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 273
Poder: 16
darkamerico Va por buen camino
Red face Ayuda

Amigos, aquí comparto el proyecto donde intento recuperar el PDF en base64 desde la BD y al hacer clic en una grilla se debe visualizar el PDF en el componente TAdvWebBrowser. El archivo .BAK esta ahí también

Lo que deseo evitar es que el PDF de la BD se grabe en archivos temporales en el disco.
No es indispensable usar un componente TAdvWebBrowser, con que se visualice el documento con ShellExecute, suficiente.

Proyecto:
Bajar (800k)

Atte,
Americo Torres

Última edición por darkamerico fecha: 28-06-2024 a las 21:12:07.
Responder Con Cita
  #3  
Antiguo 29-06-2024
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 321
Poder: 4
pgranados Va por buen camino
Cita:
Empezado por darkamerico Ver Mensaje
Lo que deseo evitar es que el PDF de la BD se grabe en archivos temporales en el disco.
Aqui ya no entendi, lo que quieres es guardar un base64 en la base de datos?

Para eso en Firebird 2.5 utilizas el tipo de campo tipo blob no un campo tipo string
Responder Con Cita
  #4  
Antiguo 29-06-2024
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 321
Poder: 4
pgranados Va por buen camino
Cita:
Empezado por pgranados Ver Mensaje
Aqui ya no entendi, lo que quieres es guardar un base64 en la base de datos?

Para eso en Firebird 2.5 utilizas el tipo de campo tipo blob no un campo tipo string
Es mas, directamente guardas el PDF en el BLOB y lo recuperas con un TStream
Responder Con Cita
  #5  
Antiguo 01-07-2024
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 273
Poder: 16
darkamerico Va por buen camino
Red face Gracias por responder

Saludos pgranados,
Como puedes advertir en el código que he mostrado, el archivo PDF ya lo tengo almacenado en base64 en la BD, lo único que deseo ahora es poder visualizarlo.
Mi WhatsApp: +51 956 940 019

Atte
Americo Torres
Responder Con Cita
  #6  
Antiguo 02-07-2024
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 321
Poder: 4
pgranados Va por buen camino
Estuve investigando un poco el tema y encontre este hilo:


Al parecer Internet Explorer (WebBrowser) utiliza un plugin de Adobe Acrobat para leer PDF en el navegador, puedes intentar seguir el hilo para llegar a la solución pero honestamente te recomiendo usar algun componente de terceros como los TMS o DevExpress o algun componente basado en Chromiun y no en Internet Explorer
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Base64 IdDecoderMIME a zip GustavoCruz Internet 9 10-11-2020 07:57:12
Cargar una Imagen base64 en un Timage darkamerico Gráficos 7 25-10-2020 01:04:29
Cargar esta web en un Twebbrowser problemas user agent cocute Varios 8 02-11-2014 17:57:19
Mostrar imagen que viene en Base64 jars Gráficos 7 25-06-2012 09:42:57
Cargar datos formulario web en Twebbrowser Rockin Internet 8 23-02-2011 12:50:34


La franja horaria es GMT +2. Ahora son las 06:36:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi