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; ?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#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.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#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())
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#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. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema transacciones IBX + Delphi Berlin | lavtaro | Conexión con bases de datos | 16 | 04-06-2018 16:29:09 |
Problema con proyecto en Delphi Berlin | newtron | Varios | 13 | 26-05-2017 21:09:26 |
Error "Incompatible types" al pasar de Delphi 2007 a Delphi Berlin | newtron | Varios | 4 | 21-02-2017 14:46:59 |
Problema con el IDE D2007 | diegofhernando | Varios | 3 | 13-06-2008 01:29:49 |
pasar un puntero a una funcion | baby | Varios | 2 | 21-05-2007 14:10:22 |
|