|
Plug-ins:
El Plug-in SDK (Software Development
Kit) incluye las siguientes nuevas opciones:
- Ventana personalizada "Acerca de".
|
- Impresión de los componentes de base rectangular.
|
- Interfaz mejorada para el Plug-in de efecto de transición.
|
- Función nbFileToStream. Esta función
permite a los desarrolladores acceso directo al archivo
de sistema interno de NeoBook. Para usar nbFileToStream
en sus plug-ins, añada lo siguiente a su interfaz
del plug-in:
|
TYPE TStreamProc = FUNCTION( FileName : PChar; OUT
Stream : IStream ) : BOOLEAN;
VAR nbFileToStream : TStreamProc;
Entonces, añada el siguiente procedimiento
de nbRegisterStreamAccess:
{ nbRegisterStreamAccess - called by NeoBook when
registering your plug-in Provides access to NeoBook's internal file
system... }
PROCEDURE nbRegisterStreamAccess( StreamProc : POINTER );
BEGIN
nbFileToStream := @TStreamProc( StreamProc );
END;
Finalmente, exporte el nbRegisterStreamAccess
para que NeoBook pueda verlo:
EXPORTS nbRegisterStreamAccess;
Ahora, puede llamar a su nbFileToStream para
cargar archivos incrustados dentro de un IStream de Windows. En
pubs compilados, esto cargará el archivo desde el interior
de un ejecutable. Desde la interfaz de NeoBook o en pubs en modo
de prueba, nbFileToStream cargará el archivo desde un disco.
En cualquier caso, el archivo requerido será cargado dentro
del IStream. Se puede acceder al IStream usando el componente TOleStream
de Delphi, que puede usarse como un Tstream estándar.
El ejemplo de abajo copia un archivo de un
archivo del sistema de NeoBook en un Istream; entonces, carga el
IStream en un componente de TMemo:
FUNCTION StreamFileToMemo( CONST FileName : STRING
) : BOOLEAN;
VAR Stream : IStream;
Ole : TOleStream;
BEGIN
Result := FALSE;
IF Assigned( nbFileToStream ) THEN
BEGIN
IF nbFileToStream( PChar( FileName ), Stream ) THEN
TRY
Ole := TOleStream.Create( Stream );
TRY
{ Carga el archivo desde un stream en una memoria... }
Memo1.Lines.LoadFromStream( Ole );
FINALLY
Ole.Free;
END;
FINALLY
{ libera el IStream... }
Stream := NIL;
END
ELSE ShowMessage( 'Archivo no encontrado.' );
END
ELSE ShowMessage( 'Esta característica requiere NeoBook 5.0.0
o superior.' );
END;
Cuando se ha terminado de usar el IStream,
asegúrese de liberarlo. En Delphi, esto se hace estableciendo
la variable como NIL, de este modo:
Stream := NIL;
| Novedades | +
Novedades | Objetos y herramientas |
Acciones | Plug-ins |
|