Ir al contenido


Foto

Juego DelphiAccess Black Jack. (lazarus)


  • Por favor identifícate para responder
17 respuestas en este tema

#1 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 15 abril 2010 - 07:55

Hola
Estoy transportando un Juego hecho en Delphi a Lazarus y me he topado con algunos inconvenientes.
Esta es la aplicación en delphi.
Para empezar en delphi uso el Uses Math para obtener un rango con RandomRange
Pues en Lazarus NO existe en Math, asi que hay que crear la funcion asi:


delphi
  1. function RandomRange(Low, High: LongInt) : LongInt;
  2. begin
  3.   if High < Low then
  4.     Result := High + Random(High - Low)
  5.   else
  6.     Result := Low + Random(Low -High);
  7. end; 


Solucionado este primer paso el programa corre, pero al presionar el boton nuevo lanza este error:
Raised exception class 'External SIGSEGV'.
Por supuesto no se de que se trata, alguna idea?.
Saludos
PD: He de mencionar que el código de delphi lo he transportado exacto a Lazarus.

  • 0

#2 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 15 abril 2010 - 08:03

Hola
Os comento en donde me marca el error:


delphi
  1. procedure TForm1.Nueva;
  2. Var
  3. N1, N2: TComponent;
  4. i: integer;
  5. begin
  6.   for i := 1 to 5 do begin
  7.   N2 := FindComponent('C' + IntToStr(i));
  8.   If TImage(N2).Visible = True then
  9.   begin
  10.   C1.Visible := False;
  11.   C2.Visible := False;
  12.   C3.Visible := False;
  13.   C4.Visible := False;
  14.   C5.Visible := False;
  15.   end
  16.   else
  17.   begin
  18.   Randomize;
  19.   N1 := Form2.FindComponent('Image' + IntToStr(RandomRange(1, 52)));
  20.   C1.Picture:= TImage(N1).Picture; // exactamente aqui, despues del rango
  21.   C1.Visible:= True;
  22.   Label1.Caption:= TImage(N1).Hint;
  23.   Valor;
  24.   Timer2.Enabled:= True;
  25.   end;
  26.   end;
  27. end;           


Saludos
  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 15 abril 2010 - 08:05

Voy a intentar hacer lo mismo que tu, a ver que pasa :)

Salud OS
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 15 abril 2010 - 08:31

Me parece que es tu versión de Lazarus, compilé el programa directamente con Lazarus y solo me dió un error en las variables C,C1,C2,C3,C4 : TComponent

Las renombré y funcionó de maravilla :), bueno, no de maravilla, perdí el juego :p

Salud OS

PD, a ver si alguien de los que saben le bajan el tamaño al programa está enorme....

Archivos adjuntos


  • 0

#5 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 16 abril 2010 - 11:17

Hola
Como lo compilas??.
Lo puedes explicar paso a paso?.
Saludos
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 16 abril 2010 - 11:26

A ver amigos, hay que mencionar si lo están compilando en Windows o en Linux, recordar que si usan el API de windows lógico marcará error en Linux, así que hay que especificar si el amigo Caral lo está compilando en Linux o en Windows.
  • 0

#7 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 16 abril 2010 - 11:27

Hola
En Windows..
Saludos
  • 0

#8 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 16 abril 2010 - 11:28

Hola
En Windows..
Saludos


Pos en este caso que el amigo Ego explique cómo lo ejecutó. ^o|
  • 0

#9 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 16 abril 2010 - 04:26

Puedes utilizar un programa llamado "strip" para eliminar los símbolos de depuración en el archivo ejecutable. Se encuentra en el directorio de lazarus: lazarus\pp\bin\i386-win32\ . 


strip --strip-all archivo_ejecutable (con su path completo)
  • 0

#10 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 16 abril 2010 - 05:09


Hola
En Windows..
Saludos


Pos en este caso que el amigo Ego explique cómo lo ejecutó. ^o|


Compilar ---> Ctrl + F9
Ejecutar ---> F9

Salud OS
  • 0

#11 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 16 abril 2010 - 05:34

Solo intenté abrir el archivo DPR y Lazarus me mostro una ventana de aviso, le dije que Si y me creó la estructura de Lazarus, compilé y me envió un error de Variable duplicada como lo mencioné mas arriba.

Renombré dichas variables, compile y ejecuté sin problemas.

Salud OS

Archivos adjuntos


  • 0

#12 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 16 abril 2010 - 06:31

otra manera de hacerlo es ir a herramientas- opcion convertir proyecto delphi a proyecto lazarus
escojes el archivo dpr que vas a convertir y le das a open, te va a salir esta ventana Imagen Enviada Escojes en este caso la opcion Lazarus/LCL for windows only si eso quieres y le das a start conversion y te va a salir esta ventana(en este caso)Imagen Enviada presionas Replace unknown types and properties, le di en las dos ocasiones en que la ventana me salió. Despues de eso es solo es darle a play para que podamos probar el juego.
  • 0

#13 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 16 abril 2010 - 06:41

Hola
No hay manera no me sale.
Cuando voy a herramientas y pongo eso me sale una ventana de que si lo quiero guardar, le doy que si y no me salen esas otras ventanas, si le doy no, simplemente sale sin hacer nada.
Saludos
  • 0

#14 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 16 abril 2010 - 06:53

que version tienes de lazarus?
  • 0

#15 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 17 abril 2010 - 05:58

Hola
V0.9.28.2 beta
Saludos
  • 0

#16 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 17 abril 2010 - 07:32

Hola
Por cierto: No os parece que seria bueno hacer un sub foro de Juegos aqui en Lazarus?.
Eso si; Si luk2009 esta de acuerdo. (y)
Saludos
  • 0

#17 pcicom

pcicom

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 267 mensajes
  • LocationMéxico

Escrito 17 abril 2010 - 07:49

Puedes evitar usar en linea de comandos el strip...  hay una opcion que hace eso desde el compilado

Menu - Proyecto - Opciones del Compilador - Enlazado -

En el grupo DEPURANDO  puedes quitar todos, pero la buena es REMOVER LOS SIMBOLOS EN EL EJECUTABLE..

Con eso tu EXE sera mas pequeño y no tendras que ejecutar desde linea de comandos el strip...

  • 0

#18 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 17 abril 2010 - 04:02

Gracias Pcicom por la informacion
  • 0




IP.Board spam blocked by CleanTalk.