Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-06-2007
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
Problemas con lazarus

Buenas, les cuento el inconveniente que estoy teniendo para ver si alguno le paso alguna vez.

Resulta que el siguiente codigo anda en delphi pero no en lazarus:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  array1: array of byte;
  txt: string;
begin
    SetLength(array1, 20);
    ZeroMemory(@array1[0], high(array1));

    txt := 'hola mundo';

    StrPLCopy(@array1[0], txt, High(array1));
end;

este ejemplo lo encontre en el foro y en delphi anda bien, ahora en lazarus me da la impresion que el SetLength no funciona ya que hace cualquier cosa, por empezar no me setea a la longitud que yo quiero y el ZeroMemory no me pone en #0 los valores.

Que puede ser? ya no se que mas buscar, en la pagina de la documentacion del freepascal sale que se usa asi pero ami no me anda.

Algun TIP por ahi?

Gracias
Responder Con Cita
  #2  
Antiguo 21-06-2007
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
Que es ZeroMemory? Es un procedure? Yo no entiendo lo que hiciste ahí, está poco claro.

Yo definiría fuera del evento click del botón. Además me parece que tendrías que difinir lo que es ZeroMemory salvo que yo esté equivocado.

Saludos
Responder Con Cita
  #3  
Antiguo 21-06-2007
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
El código compila sin errores en Lazarus. Mira si agregaste Windows en uses

Código Delphi [-]
Uses Windows;


Además se requiere definir la constante MAX_LENGTH
Código Delphi [-]
MAX_LENGTH = 10;


Saludos
Responder Con Cita
  #4  
Antiguo 21-06-2007
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
Cita:
Empezado por Robert01
El código compila sin errores en Lazarus. Mira si agregaste Windows en uses

Código Delphi [-]Uses Windows;



Además se requiere definir la constante MAX_LENGTH
Código Delphi [-]MAX_LENGTH = 10;



Saludos

Si, compilar compila bien, pero si haces un seguimiento linea por linea y vas inspeccionando vas a ver que hace cualquier cosa.

Por empesar cuando setea la longitud e inspeccionas vas a ver que no hace nada.
Responder Con Cita
  #5  
Antiguo 21-06-2007
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
Hola

Yo probé con el codigo que había en delphi en el foro (el que usa el memo, etc) y en lazarus anda perfectamente bien.

Debes tener en cuenta que lazarus no es un clon de delphi, hay cosas que son diferentes, posiblemente haya que cambiar algunas cosas.

Si tengo tiempo más tarde voy a ver que es lo que está pasando.

En la guía de conversión de código de delphi a lazarus hay algunas pautas sobre como pasar punteros, etc. No se si la has leído.

Posiblemente este sea un problema de ese tipo.

Saludos
Responder Con Cita
  #6  
Antiguo 21-06-2007
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
Cita:
Empezado por Robert01
Hola

Yo probé con el codigo que había en delphi en el foro (el que usa el memo, etc) y en lazarus anda perfectamente bien.

Debes tener en cuenta que lazarus no es un clon de delphi, hay cosas que son diferentes, posiblemente haya que cambiar algunas cosas.

Si tengo tiempo más tarde voy a ver que es lo que está pasando.

En la guía de conversión de código de delphi a lazarus hay algunas pautas sobre como pasar punteros, etc. No se si la has leído.

Posiblemente este sea un problema de ese tipo.

Saludos
Ah!! ese tip me interesa, donde esta?? igual en este LINK que es la doc de lazarus explica y es igual q delphi por eso me parece raro, pero por favor si tenes ese link me lo podrias compartir?

gracias
Responder Con Cita
  #7  
Antiguo 24-06-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cool Ok

Cita:
Empezado por Robert01
...Debes tener en cuenta que lazarus no es un clon de delphi, hay cosas que son diferentes, posiblemente haya que cambiar algunas cosas.
No es un clon, puede que sea basado en la IDE y el lenguaje pero eso no lo hace un clon, en definitiva hay que cambiar cosillas; Me baje el Lazarus, y podré ayudarte... pudiste lo del "hello world"? qué quieres hacer?

Saludos
Responder Con Cita
  #8  
Antiguo 21-06-2007
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
Cita:
Empezado por Robert01
Que es ZeroMemory? Es un procedure? Yo no entiendo lo que hiciste ahí, está poco claro.

Yo definiría fuera del evento click del botón. Además me parece que tendrías que difinir lo que es ZeroMemory salvo que yo esté equivocado.

Saludos
Estimado, ZeroMemory lo que hace es poner el array en 0 todos sus elementos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lazarus 0.9.22 liberado. Ñuño Martínez Noticias 1 05-04-2007 07:07:13
¡ayuda, problemas al ejecutar lazarus! Robert01 Linux 2 28-09-2006 03:34:38
[Lazarus] GTK+-devel en SUSE. problema instalar lazarus de esa libreria. sakuragi Lazarus, FreePascal, Kylix, etc. 3 28-09-2006 03:31:09
Lazarus shaktale Varios 1 22-12-2003 19:27:52
Lazarus DJ VMan Varios 2 01-08-2003 23:54:56


La franja horaria es GMT +2. Ahora son las 06:40:48.


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
Copyright 1996-2007 Club Delphi