Unofficial Content

Warning: The .NET Mobile generator has been discontinued. Refer to Native Mobile Applications Development.

Preguntas Frecuentes

 

1. Cómo incluyo una dll externa?


Para usar una dll externa es necesario setear la preferencia del modelos

"Compiler Flags" = /r:binmylibrary1.dll /r:binmylibrary2.dll .....

Luego generar y compilar
 

2.Cómo llamar a una aplicación externa?


Existen dos formas de llamar a una aplicación externa
 

1. Como call dinámico

a.Teniendo el código externo en la carpeta del modelo, (supongamos 'afvbateria.cs'), con la siguiente estructura:
 

 using GeneXus.Application;
 using com.genexus;
 ....
 namespace GeneXus.Programs
 {
   public class afvbateria{
     ...
     public afvbateria(IGxContext context, int hnd, ModelContext jContext):this(){... }
     ....
     public void execute(ref string var1, ref int var2....){.....}
     ...
   }
 }


b. Si el archivo cs referencia la librería externa, es necesario hacer lo indicado en el punto 1

c. Llamamos al componente con el siguiente código
 

 Event 'DynCall'
 call('afvbateria', &var1, &var2....)
 EndEvent  // 'DynCall'
 
 

2.Con código C#

a. Teniendo la dll externa en el directorio del modelo (supongamos 'afvLibrary.dll')

b. Agregar afvLibrary.dll a las Compiler Flags (ver punto 1)

c. Hacer la llamada con el siguiente código

 csharp MyLibraryNamespace.MyClass form = new MyLibraryNamespace.MyClass();
 csharp form.execute([!&var1!], [!&var2!]...);


 

3.Cómo cambio el cursor?

Para cambiar el cursor es necesario usar el siguiente código:
 

Csharp System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
Csharp System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
 
 

4.Cómo cambio el icono de mis aplicaciones?


Para cambiar el icono es necesario copiar el mismo al directorio del modelo y agregar a la propiedad "Compiler Flags" /win32icon:customicon.ico

 

5.Cómo compacto mi base de datos?


A veces es necesario compactar la base de datos pues la misma crece significativamente guardando información que luego no será utilizada.
Para eso se puede utilizar el siguiente código para hacer un backup de la base de datos
 

&src = "sampledb.sdf"
&dest = "sampledb.sdf.tmp"
&dbconn = GetDataStore("Default")
&password = &dbconn.UserPassword
&dbconn.Disconnect() 

 

csharp System.Data.SqlServerCe.SqlCeEngine engine = new System.Data.SqlServerCe.SqlCeEngine("Data Source=" + [!&src!] + ";Password=" + [!&password!]);
csharp engine.Compact("Data Source=" + [!&dest!]  + ";Password=" + [!&password!]);
csharp engine.Dispose();

 

6 Como genero un "Beep"?


Para generar un "beep" copie el siguiente código

 

Event 'beep'
   Do 'Beep'
EndEvent // 'beep'



Sub 'Beep'

csharp Beep();
csharp }
csharp [System.Runtime.InteropServices.DllImport("coredll", EntryPoint="MessageBeep", SetLastError=true)]
csharp private static extern void MessageBeep(uint type);
csharp public static void Beep(){
csharp MessageBeep(0xffffffff);


/*

Default = 0xFFFFFFFF,
Asterisk = 0x00000040, //Sound played during an Asterisk Message Box.
Exclamation = 0x00000030,// Sound played during an Exclamation Message Box.
Question = 0x00000020, // Sound played during a Question Message Box.
Hand = 0x00000010,// Sound played during a Hand Message Box.
/ *
Endsub

6 Como activo, desactivo el SIP manualmente?


Se puede hacer por medio del siguiente código

Event 'Sip'
csharp SIP.Show();
EndEvent // 'Sip'

 
Event 'Nosip'
csharp SIP.Hide();
EndEvent // 'Nosip'



 
Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant