Articles of Delphi

¿Cómo acceder a métodos privados sin ayudantes?

En Delphi 10 Seattle podría usar el siguiente código para evitar restricciones de visibilidad demasiado estrictas. ¿Cómo obtengo acceso a variables privadas? type TBase = class(TObject) private FMemberVar: integer; end; ¿Y cómo obtengo acceso a métodos privados simples o virtuales? type TBase2 = class(TObject) private procedure UsefullButHidden; procedure VirtualHidden; virtual; procedure PreviouslyProtected; override; end; Anteriormente […]

TThreadedQueue no es capaz de múltiples consumidores?

Intentando usar TThreadedQueue (Generics.Collections) en un esquema de consumidor múltiple de un solo productor. (Delphi-XE). La idea es insertar objetos en una cola y dejar que varios hilos de trabajo agoten la cola. Sin embargo, no funciona como se esperaba. Cuando dos o más subprocesos de trabajo llaman a PopItem, las violaciones de acceso se […]

Conversión de TMemoryStream a ‘Cadena’ en Delphi 2009

Teníamos el siguiente código antes de Delphi 2009: function MemoryStreamToString(M: TMemoryStream): String; var NewCapacity: Longint; begin if (M.Size = 0) or (M.Memory = nil) then Result:= ” else begin if TMemoryStreamProtected(M).Capacity = M.Size then begin NewCapacity:= M.Size+1; TMemoryStreamProtected(M).Realloc(NewCapacity); end; NullString(M.Memory^)[M.Size]:= #0; Result:= StrPas(M.Memory); end; end; ¿Cómo podríamos convertir este código para soportar Unicode ahora con […]

¿Cómo usar la propiedad ScanLine para mapas de bits de 24 bits?

¿Cómo se usa la propiedad ScanLine para la manipulación de píxeles de bitmap de 24 bits? ¿Por qué debería preferir usarlo en lugar de la propiedad Pixels utilizada con bastante frecuencia?

Problemas de Delphi Conversion Unicode

Tenemos una gran aplicación comercial que queremos convertir de Delphi 6 a 2010. Aproximadamente 10 conjuntos de componentes de terceros, todos con código fuente … He escuchado advertencias sobre Unicode en 2010 – ¿Alguien tiene experiencia o sugerencias?

¿Qué base de datos incrustada usar en una aplicación Delphi?

Estoy creando una aplicación de escritorio en Delphi y planeo usar una base de datos integrada. Empecé el proyecto con SQlite3 con la biblioteca DISQLite3. Funciona, pero la documentación parece un poco ligera. Recientemente encontré Firebird (sí, he estado fuera de Windows por un tiempo) y parece tener algunas características y soporte convincentes. ¿Cuáles son […]

ORM para DELPHI win32

¿Alguien sabe acerca de un ORM o algo similar para Delphi Win32.

¿Por qué CreateProcess da el error 193 (% 1 no es una aplicación Win32 válida)?

El siguiente código no puede iniciar documentos. Obtengo el error 193 (% 1 no es una aplicación Win32 válida). Iniciar ejecutables funciona bien. Los archivos están asociados correctamente, inician la aplicación correspondiente al hacer doble clic. He buscado SO y en otro lugar para el mensaje de error, crear cosas de proceso, etc. ( Por […]

¿Cómo le digo a Delphi que ya he manejado una excepción?

Establecí Application.OnException en un manejador de excepciones personalizado para poder registrar lockings y dar una opción para salir. Sin embargo, ahora descubro que esto se ejecuta incluso con excepciones que ya he manejado, por ejemplo, excepciones que surgen al validar entradas numéricas. ¿Hay alguna manera de que el controlador de excepciones personalizado solo se ejecute […]

Antivirus Falso positivo en mi ejecutable

Me encontré con un problema molesto. De repente, Avira AntiVir comenzó a marcar un ejecutable de mi software como un virus. Como la acción predeterminada de casi cualquier usuario es hacer clic en Aceptar y Avira sugiere poner el virus en cuarentena, la mayoría de mis usuarios están eliminando este ejecutable. Bueno, no seamos arrogantes […]