Ir al contenido


Foto

Deprecated Ctl3D


  • Por favor identifícate para responder
1 respuesta en este tema

#1 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 06 mayo 2012 - 01:20

He vuelto a retomar Lazarus (v 0.9.31) en la version de CodeTyphon 2.6 y haciendo referencia a este hilo http://www.delphiacc...lar-un-paquete/ es que inicio este mensaje nuevamente con el mismo componente CPortLaz 1.0.0.

Como se menciona en el hilo referenciado al intentar instalar el componente se genera un error en la instalacion con las property Ctl3D; si se comentan las lineas donde se hace mencion a esas propiedades ya no aparece el mensaje de error sin embargo mas adelante aun existen referencias a la misma y aparece este mensaje:

C:\codetyphon\lazarus\components\cportlaz\CPortCtl.pas(1753,16) Error: Identifier not found "Ctl3D"
C:\codetyphon\lazarus\components\cportlaz\CPortCtl.pas(1765,16) Error: Identifier not found "Ctl3D"




delphi
  1. if FBorderStyle = bsSingle then
  2.     begin
  3.       if [b]Ctl3D[/b] then
  4.         Border := SM_CXEDGE
  5.       else
  6.         Border := SM_CXBORDER;
  7.       NewWidth := NewWidth + 2 * GetSystemMetrics(BORDER);
  8.     end;



Buscando en internet encontre un mensaje similar pero no entiendo la solucion. ¿Podrian ayudarme?

So I just created that property, instead of inheriting it, and I kept it there.
Everything now works fine, but the maintainer of CPortLaz should fix
the code on the Lazarus CCR.
Anyone knows him?


Aclaro que Ctl3D (dll o que se yo!)  es algo ya obsoleto segun lo que he leido asi que solo queda como "legacy" en Delphi  pero en Lazarus al parecer fue eliminado definitivamente.


  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 06 mayo 2012 - 04:03

¿Porqué no le metes mano a ese código y eliminas las referencias a CTL3D?:



delphi
  1. if FBorderStyle = bsSingle then
  2.     begin
  3. //      if [b]Ctl3D[/b] then
  4. //        Border := SM_CXEDGE
  5. //      else
  6.         Border := SM_CXBORDER;
  7.       NewWidth := NewWidth + 2 * GetSystemMetrics(BORDER);
  8.     end;
  9. ..........................



Y así con todas...

O quizás sea mas sencillo hacer CTL3D:= false en algún sitio estratégico de ese código. Puede ser una variable tipo  boolean o incluso una constante...  Revísalo no creo que sea muy complicado.


Saludos.
  • 0




IP.Board spam blocked by CleanTalk.