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 24-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.145
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A ver. Voy a tirar al aire con lo primero (y más simple, porque, de mi cerebro no pueden salir sino cosas simples) que se me ocurre. Digo que acaso el prototipo de dicha función se definió en su día con un argumento "constante". Tiempo después, por el motivo que fuese, se vió que era menester modificar dicho argumento, de manera que no valía que se dejase como constante. Si estoy en lo cierto, tal vez se tomó la solución "chapuza", esto es, utilizar una variable local para hacer las modificaciones correspondientes, manteniendo el prototipo de la función, ¡digo yo!, por razones de compatibilidad...

P.D. En efecto, esta explicación mía no puede tener sentido,... ¿verdad que no tiene sentido? Y por diversas razones además, casi estoy por borrar este mensaje...
Responder Con Cita
  #2  
Antiguo 24-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Quizá algún "bug" en alguna versión antigua de Windows y el "parche se quedó hasta nuestros dias. En todo caso la ocumentación de la API no dice nada al respecto.

// Saludos
Responder Con Cita
  #3  
Antiguo 24-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.714
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Yo uso esa función desde hace muchos años en todos los proyectos y nunca he tenido problemas de ese tipo, (sólo la he usado en winXP con D7 y D2007)
Responder Con Cita
  #4  
Antiguo 24-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pero, ¿usas directamente la API de Windows o la función de la unidad SysUtils?

// Saludos
Responder Con Cita
  #5  
Antiguo 24-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.145
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
O sea, que, mi respuesta mi mirarla siquiera.
Responder Con Cita
  #6  
Antiguo 24-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.714
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
Pero, ¿usas directamente la API de Windows o la función de la unidad SysUtils?
// Saludos
Ahí me has pillado... voy a ver...
Es la que está implementada en 'windows'; y es este código horroroso:

Código Delphi [-]
function getmVersion(cExe:string='') : string;
var
  InfoSize, H, RsltLen: cardinal;
  VersionBlock: pointer;
  Rslt: PVSFixedFileInfo;
begin
  if (cExe='') or (not FileExists(cExe)) then
    cExe := Application.ExeName;
  //
  //InfoSize := GetFileVersionInfoSize(PChar(Application.ExeName), H);
  InfoSize := GetFileVersionInfoSize(pChar(cExe), H);
  VersionBlock := AllocMem(InfoSize);
  try
    //GetFileVersionInfo(pChar(Application.ExeName), H, InfoSize, VersionBlock);
    GetFileVersionInfo(pChar(cExe), H, InfoSize, VersionBlock);
    VerQueryValue(VersionBlock, '\', Pointer(Rslt), RsltLen);
    result := Format('%d.%d.%d.%d', [
    Rslt.dwProductVersionMS div 65536,
    Rslt.dwProductVersionMS mod 65536,
    Rslt.dwProductVersionLS div 65536,
    Rslt.dwProductVersionLS mod 65536]);
  finally
    FreeMem(VersionBlock);
  end;
end;
Responder Con Cita
  #7  
Antiguo 24-10-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.145
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular




P.D. Perdona Al,... algún moderador serio puede borrar los mensajes que considere oportuno. No presentaré queja.
Responder Con Cita
  #8  
Antiguo 24-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec Ver Mensaje
algún moderador serio puede borrar los mensajes que considere oportuno.
En estos momentos no contamos con ese tipo de moderadores

// Saludos
Responder Con Cita
  #9  
Antiguo 24-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues ahí está. Usas la API directamente. Si no te ha dado problemas nunca es de suponerse que el programador original en SysUtils estaba pensando en alguna otra cosa

// Saludos
Responder Con Cita
  #10  
Antiguo 24-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec Ver Mensaje
O sea, que, mi respuesta mi mirarla siquiera.
Cita:
Empezado por dec Ver Mensaje
Hola,

A ver. Voy a tirar al aire con lo primero (y más simple, porque, de mi cerebro no pueden salir sino cosas simples) que se me ocurre. Digo que acaso el prototipo de dicha función se definió en su día con un argumento "constante". Tiempo después, por el motivo que fuese, se vió que era menester modificar dicho argumento, de manera que no valía que se dejase como constante. Si estoy en lo cierto, tal vez se tomó la solución "chapuza", esto es, utilizar una variable local para hacer las modificaciones correspondientes, manteniendo el prototipo de la función, ¡digo yo!, por razones de compatibilidad...

P.D. En efecto, esta explicación mía no puede tener sentido,... ¿verdad que no tiene sentido? Y por diversas razones además, casi estoy por borrar este mensaje...
Interesante punto de vista...



// Saludos
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
Pasar como parametro la ruta de una imagen richy08 Impresión 6 19-08-2008 23:56:00
llamar un archivo asi '192.168.1.1:\ruta\archivo.frf' IVAND Varios 5 12-04-2008 17:18:54
Ruta absoluta de un archivo Alexis De la Cr PHP 3 18-06-2006 00:41:22
ruta de un archivo ddd_ddd Varios 1 08-06-2006 00:08:34
Ruta y nombre de archivo INI jfranco Varios 2 27-02-2004 17:44:23


La franja horaria es GMT +2. Ahora son las 13:16:57.


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