[Lazarus-es] Error lazarus
Luis Del Aguila
luis3000 en ec-red.com
Mar Jul 17 21:59:51 CEST 2012
El problema puede ser que en tu windows.
Estés usando un disco duro en ntfs, cuando se usa ntfs, windows usa
UTF16 para los nombres de archivos y carpetas.
C:\Documents and Settings\usuario\Configuración local\Datos de programa
En la ruta que mencionas Configuración local, es probable que lazarus lo
este interpretando mál.
Ya que lazarus y fpc aún usa rutinas para abrir archivos que usen nombre
de archivos en ansi y no con unicode.
Tienes que crear tu tus propias rutinas para abrir dichas carpetas.
Por ejemplo para abrir, un archivo de texto y colocarlo en un TMemo,
tendrías que usar algo parecido:
procedure TForm1.MenuAbrirClick(Sender: TObject);
Var arch:THandle;
Flujo:THandleStream;
begin
if OpenDialog1.Execute
then Begin
arch:=FileOpen(UTF8Decode(OpenDialog1.FileName),fmOpenReadWrite);
Flujo:=THandleStream.Create(arch);
Memo1.Lines.LoadFromStream(Flujo);
FileClose(arch)
End
end;
La rutina file Open tienes que volverla a crearla y colocarla dentro de
de la sección implementation de tu formulario
Function FileOpen(nombre:unicodestring;atributos:longint):THandle;
const
AccessMode: array[0..2] of Cardinal = (GENERIC_READ,
GENERIC_WRITE,
GENERIC_READ or GENERIC_WRITE);
ShareMode: array[0..4] of Integer = (
0,
0,
FILE_SHARE_READ,
FILE_SHARE_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE);
Begin
FileOpen:=CreateFileW(PWidechar(nombre),dword(AccessMode[atributos and
3]),dword(ShareMode[(atributos and $F0) shr
4]),nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
End;
No se si esto sirva en el caso de una base de datos, Pero espero te
sirva de ayuda.
El 17/07/2012 02:27 p.m., Maxi escribió:
> El día 17 de julio de 2012 15:38, Abraham <abraham.montano en gmail.com> escribió:
>> Hola a todos.
>>
>> tengo un error en Lazarus, al parecer es un problema de caracteres
>> especiales al momento de crear el archivo editormacros.xml, ya que este
>> archivo se crea en la siguiente ruta
>>
>> C:\Documents and Settings\usuario\Configuración local\Datos de programa
>>
>> el problema estaria que lazarus toma la siguiente ruta:
>>
>> D:\Documents and Settings\t640940\Configuraci?n local\Datos de programa
>>
>> estoy usando fpc y lazarus de sus respectivos svn
>>
>> PD: adjunto imagen del mensaje.
>>
>> Saludos.
>>
>> -------------------
>> Abraham Montaño
>> Chiclayo - Perú
>> ---------------------
>>
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>
> De seguro no has de tenr permisos para escribir en esa ruta o está mal
> escrita. el signo ? no es valido para una ruta de windows, el asento
> lo está convirtiendo a un caracter no valido. deberias revisar el tipo
> de cadena si es unicode.
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20120717/e0b887bc/attachment-0002.html>
More information about the Lazarus-es
mailing list