![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problema al pasar función de D2007 a Berlín
Hola a tod@s.
Tengo esta función para activar/desactivar la función "duplex" de las impresoras:
Esto con mi Delphi 2007 va perfectamente pero estoy intentando pasarla a Delphi Berlin y me da el siguiente error al compilar: Incompatible types: 'PAnsiChar' and 'array[0..255] or Char señalando la variable "Device" de la linea "if DeviceCapabilitiesA(Device, Port, DC_DUPLEX, nil, nil) = 1 then begin" Imagino que habrá que hacer alguna conversión de tipos de variable pero la verdad es que no doy con la tecla. ¿Alguien me puede iluminar? Gracias y un saludo
__________________
Be water my friend. |
#2
|
||||
|
||||
¿Has probado: Device, Driver, Port : array[0..255] of ansichar; ?
|
#3
|
||||
|
||||
Cita:
Si, y me dice: Incompatible types: 'PWideChar' and 'array[0..255] of AnsiChar Gracias y un saludo
__________________
Be water my friend. |
#4
|
||||
|
||||
Lo otro es que sean pansichar, pero no sé qué tipos son cada uno de los parámetros.
A ver si alguien que use esas versiones modernas puede ayudar. |
#5
|
||||
|
||||
Si, cambiaron los tipos de datos de los parámetros! Pues, de esta manera compila pero...
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#6
|
||||
|
||||
Gracias a los dos por contestar.
movorack, disculpa pero no entiendo tu respuesta. En la unidad WinSpool de mi Delphi Berlín la función está declarada de la siguiente forma:
o sea, las variables están como tipo LPCSTR pero no sé cómo hacer la declaración y la llamada. Saludos
__________________
Be water my friend. |
#7
|
||||
|
||||
Mientras responde movorack...
Dices que la función es: Sin embargo, creo que la llamas con los parámetros cambiados de orden: Aparte de eso, lo mismo puede que funcione de la forma: PAnsiChar(AnsiString()) |
#8
|
||||
|
||||
Casimiro.
Ese código era una propuesta de movorack, yo lo estaba poniendo en el orden correcto. Por otro lado con tu última propuesta "PAnsiChar(AnsiString())" si que ha funcionado. ![]() Gracias a los dos y un saludo
__________________
Be water my friend. |
#9
|
||||
|
||||
Hola, que mala costumbre la de nosotros los latinoamericanos de dormir mientras uds están trabajando
![]() Lo que sucede es que en el Berlín que tengo instalado (Delphi Berlín 10.1 Update 2) están así:
Pero, LPCSTR termina siendo del tipo PAnsiChar
y la duda es porque DeviceCapabilitiesA pide un parámetro llamado pDeviceName que en tu código original no veo.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#10
|
||||
|
||||
Cita:
Aquí no trabajamos hombre, estamos todo el día de fiesta. ![]() Pues es curioso porque mi versión es igualmente Berlín 10.1 Update 2 y se ve que esa función en particular la declara de forma diferente ![]() De una forma o de otra lo solucioné con la propuesta de Casimiro. Gracias y un saludo
__________________
Be water my friend. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema transacciones IBX + Delphi Berlin | lavtaro | Conexión con bases de datos | 16 | 04-06-2018 15:29:09 |
Problema con proyecto en Delphi Berlin | newtron | Varios | 13 | 26-05-2017 20:09:26 |
Error "Incompatible types" al pasar de Delphi 2007 a Delphi Berlin | newtron | Varios | 4 | 21-02-2017 13:46:59 |
Problema con el IDE D2007 | diegofhernando | Varios | 3 | 13-06-2008 00:29:49 |
pasar un puntero a una funcion | baby | Varios | 2 | 21-05-2007 13:10:22 |
![]() |
|