Ayuda con Delphi 2009
Hola amigos aca de nuevo para una consulta, pasa que hize una aplicacion en Delphi for win32 es la version 2002, acabe de instalar el 2009, la aplicacion se conecta de forma local por medio de ip y manda textos, la cuestion es que al escribirle algunas letras juntas osea palabras me manda asi como figuras, por ejemplo el hola me lo recibe asi 潨慬la , con la otra version si funciona bien, alguien sabe que pasa?, y por ejemplo para agregar el componente flash osea ver las animaciones flash como lo instalo, ya que me manda a mis documentos y le doy guaradar y no pasa nada, y algo mas, puse esta instruccion:
inExec(PChar('C:\aplicacion.exe') y no lo abre, me dice que: [DCC Error] Unit1.pas(327): E2010 Incompatible types: 'Char' and 'AnsiChar' esto pasa con Delphi 2009, espero alguien me pueda hechar una manita, gracias y espero no molestarlos |
Debes cambiar el PCHAR por PANSICHAR
que te lo dice... el ERROR Incompatible types: 'Char' and 'AnsiChar' Haciendo esto no te mostrara los codigos extraños como CHINOS.. En Lugar de tener esto inExec(PChar('C:\aplicacion.exe') pones inExec(PAnsiChar('C:\aplicacion.exe') jejeje SALUDOS |
Hola!
Aun no hago ninguna aplicacion con Delphi 2009. Me he estado documentando sobre los cambios antes de hacer nada. De lo que he leido los tipos string y char son total y absolutamente de tipo UNICODE y NO SE PUEDE CAMBIAR. Tu aplicacion la deberas migrar para que no te marque esos errores y sea compatible con el nuevo esquema de delphi 2009. Aqui hay un articulo para iniciar con los cambios de Unicode (esta en ingles) P.D. Este es el enlace de la nueva pagina de articulos sobre delphi. Ya como Embarcadero |
Gracias amigos por la ayuda, ya cambie la opcion que me comentaron, el documento que comenta el amigo FGarcia lo vi, pero ahora me marca esto:
[DCC Warning] Unit1.pas(182): W1058 Implicit string cast with potential data loss from 'TCaption' to 'AnsiString' Es un edit que envio texto en mi propia pc como les comentaba arriba, y donde muestra los codigos chinos es en un memo, y en ejemplo que da del link dice de la posicion 1 y eso, este valdrá 2 bytes en vez de 1? Lei tambien que: Si hacemos la llamada Length(String) esta nos creará bastantes problemas, porqué ahora para el cálculo tendremos que realizar Length(String) * SizeOf(Char). gracias y espero no molestarlos :) Se me olvidaba, la instruccion que utilizo para enviar el texto es la siguiente: ClientSocket1.Socket.SendText(Edit1.Text) Y para recibirla es esta: Texto := Socket.ReceiveText; Memo1.Lines.Add(Texto); donde Text esta declarada como variable asi: Var Texto : String; Lei algo asi: las funciones de ansi primero se convierten las cadenas a Unicode y luego se llama a la función correspondiente, pero no se como hacerlo, me imagino que va algo asi de convertir a string, pero no se bien, y con lo del componente para ver las animaciones flash? gracias y espero no molestarlos :) |
La franja horaria es GMT +2. Ahora son las 06:58:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi