[BETA TESTING] Pre-launch nueva version de Gemix.

Discusión en general sobre Gemix.

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby CicTec » Mon Oct 25, 2021 7:27 pm

Vale, lo revisare, gracias por el report. :)
User avatar
CicTec
 
Posts: 16461
Joined: Thu Jul 31, 2008 10:18 pm

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby Zardoz » Sun Oct 31, 2021 6:11 pm

El bug (no estoy seguro al 100%) que tengo con un casting de punteros.

Tengo este código :

Source Code (Gemix) [ Download ] [ Hide ]
  • COMPILER_OPTIONS _case_sensitive, _extended_conditions, _use_cstyle;
  •  
  • program test;
  •  
  • global
  •   struct level
  •     int32 tileMapColumns;
  •     int32 tileMapRows;
  •   end
  •  
  • begin
  •  
  •   loop
  •     if (keydown(_q))
  •       let_me_alone();
  •       break;
  •     end
  •  
  •     frame;
  •   end
  • end
  •  
  • function loadLevelData(string levelName)
  • private
  •   int ret;
  • begin
  •   ret = loadData("lvl/" + levelName + "/level",  (int32*)&level, sizeof(level));  // ERROR EN ESTA LINEA!
  •   return(ret);
  • end
  •  
  • function int loadData(string dataFile, int32* data, int sizeOfArray)
  • begin
  •   data[0] = 123;
  •   return(0);
  • end
  •  
  •  


Me dá este error :

Code: Select all
 ./gmxc-linux-x86 /home/luis/repos/mata/test.prg test
 **** GEMIX Compiler 0.8.0.0 (BETA) ****
Copyright (C) 2005-2020 Skygem Software. All rights reserved

Precompiling...
module used: ID: 17   , NAME: GMX_mod_stdmain         
module used: ID: 8    , NAME: GMX_mod_math             
module used: ID: 16   , NAME: GMX_mod_graphics2Dlgy   
module used: ID: 4    , NAME: GMX_mod_inputlgy         
Compiling...
Compiling: test.prg
test.prg:27:51: ERROR 81: Invalid type ( SIGNED/UNSIGNED )
function:
Break (0 warnings)
Exit with errors
Zardoz
 
Posts: 15
Joined: Sun Oct 17, 2021 12:02 am

Re: [BETA TESTING] Pre-launch nueva version de Gemix.

Postby Vortigano » Sat Nov 13, 2021 4:26 pm

Zardoz wrote:El bug (no estoy seguro al 100%) que tengo con un casting de punteros...


Es un bug. Si tal vez te sirve, yo como alternativa uso typedefs entonces puedo recibir estructuras (ahora Typedefs) como argumento.

Por ejemplo:

Reemplaza tu struct por typedef y obtiene una nueva instancia en lugar de struct level.

Code: Select all
type Tlevel
  int32 tileMapColumns;
  int32 tileMapRows;
end

Tlevel level;

function loadLevelData(string levelName)
private
  int ret;
begin
  ret = loadData("lvl/" + levelName + "/level", &level, sizeof(level));
  return(ret);
end

function int loadData(string dataFile, Tlevel* data, int sizeOfArray)
begin
  data.tileMapColumns = 123;
  return(0);
end

User avatar
Vortigano
 
Posts: 178
Joined: Sun May 07, 2017 6:04 am

Previous

Return to General

Who is online

Users browsing this forum: No registered users and 2 guests