PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Presentación
  • ¿Cómo crear un Procedure en el código del objetivo C?
  • Notas importantes
  • Usando la UIView de una ventana
  • ¿Cómo llamar a las clases del Objetivo C?
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Presentación
Tiene la capacidad de escribir código Objective C en las aplicaciones iPhone/iPad generadas con WINDEV Mobile..
Esto le permite crear procedimientos globales en código Objective C.
¿Cómo crear un Procedure en el código del objetivo C?
Para escribir el código de un Procedure en el código del objetivo C:
  1. Crear un nuevo Procedure global (a través de "New global Procedure" de el menú contextual de conjuntos de Procedure s en el panel "Project explorer"). Especifique el nombre de este Procedure.
    Atención: el nombre de Procedure no debe contener caracteres acentuados.
  2. En el editor de códigos, haga clic en las letras "WL" que aparecen delante de la leyenda de Procedure global. La barra se vuelve azul claro y los caracteres "ObjC" aparecen delante del nombre Procedure. El código existente se convierte en comentarios.
Por ejemplo:
se convierte:
Observaciones:
  • Para volver al código de WLanguage, todo lo que tienes que hacer es pulsar "ObjC" en la barra de Procedure.
  • El nombre del objetivo C Procedure debe contener caracteres acentuados. De lo contrario, los caracteres acentuados se eliminarán al cambiar al código Objective C.

Notas importantes

  • Pasar parámetros a un objetivo C Procedure se realiza automáticamente por valor.
  • Si el parámetro es un puntero, el paso de parámetros se hace por valor pero también tiene la capacidad de actuar sobre el contenido del puntero en la Procedure.
  • Los parámetros de los procedimientos escritos en el código del Objetivo C deben necesariamente escribirse con un tipo primitivo (entero, real, cadena,...).. Se soportan los siguientes tipos:
    • char
    • wchar_t
    • float
    • duplicar
    • int
    • largo
    • cortocircuito
    • vacío
    • booleana
    • PELEA
  • Evite los comentarios como "/*". Los comentarios de WLanguage ("//") están soportados.

Usando la UIView de una ventana

El UIView de una ventana no se puede utilizar directamente. Sin embargo, Handle se utiliza para get un puntero en el actual UIView.
Veamos un ejemplo de código Objective C utilizado para leer un vídeo:
#import <MediaPlayer/MediaPlayer.h>

void PlayVideo(void* currentView, NSString* VideoURL)
{
   
MPMoviePlayerController *moviePlayer;
NSURL *movieURL;
UIView *tmpView = (UIView*)currentView;
   
movieURL = [NSURL URLWithString:VideoURL];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
[tmpView addSubview:moviePlayer.view];
moviePlayer.fullscreen = YES;
[moviePlayer play];
}
y la llamada correspondiente en WLanguage:
PlayVideo(Handle(MyWindow, HandleUIViewController), "http://myvideo.com/myvideo.mp4")
¿Cómo llamar a las clases del Objetivo C?
Si su Procedure en el código de Objective C está utilizando clases de Objective C:
  1. Añada las importaciones correspondientes a las clases de objetivo C utilizadas en el código nativo de objetivo C introducido (mediante la palabra clave "Importar").. Le aconsejamos que añada estas importaciones antes de declarar el método. Por ejemplo:
  2. Si las clases Objective C se encuentran en bibliotecas específicas, estas bibliotecas deben incluirse en la aplicación al generar la aplicación iPhone/iPad a través de la siguiente pantalla de asistente:
Observación: Estas bibliotecas deben ser accesibles desde el PC utilizado para generar la aplicación iPhone/iPad..
Versión mínima requerida
  • Versión 17
Comentarios
Media Player SDK
Could you please attach the SDK used for this example (MediaPlayer) so i can use this as a sample? Thank you!
Denny
27 11 2017