Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
CreateFileMapping en VCL.Net

Hola Compañer@s !

Como puedo implementar CreateFileMapping bajo VCL.Net ??

Estoy teniendo problemas con los punteros incluso utilizando la directiva de compilación {$UNSAFECODE ON} para que puderia utilizar dichos punteros.

Pero no tengo en VCL.Net ninguna función que logre copiar el/los dato/s que quiero a la memoria compartida.

De momento he logrado llegar hasta aqui :

Código Delphi [-]
fFileHandle : THandle;
Compartido : IntPtr;
Buffer : IntPtr;
AuxTexto : String;
 
fFileHandle := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, 1024, 'MiNombreDeMemCompartida');
if fFileHandle <> 0 then begin
  Compartido := MapViewOfFile(fFileHandle, FILE_MAP_WRITE, 0, 0, 0);
  AuxTexto   := '1';
  Buffer       := Marshal.StringToHGlobalAuto(AuxTexto);
  // Lo que no logro es pasar aquí Buffer al espacio 'Compartido' abierto con MapViewOfFile
end;

y en la parte que quiero leer el dato de la memoria compartida he llegado hasta esto :

Código Delphi [-]
fFileHandle2 : THandle;
Compartido2 : IntPtr;
Buffer2 : IntPtr;
AuxTexto2 : String;
 
fFileHandle2 := OpenFileMapping(FILE_MAP_READ, False, 'MiNombreDeMemCompartida');
if fFileHandle2 <> 0 then begin
  Compartido2 := MapViewOfFile(fFileHandle2, FILE_MAP_READ, 0, 0, 0);
  Buffer2  := Marshal.AllocHGlobal(1024 * Marshal.SystemDefaultCharSize);
  // Aqui necesito pasar el contenido de 'Compartido2' a Buffer2
  AuxTexto2 := Marshal.PtrToStringAuto(Buffer2);
end;

Añadir que en el Uses he incluido : System.Runtime.InteropServices

A lo mejor me podeis dar algunas pistas que me ayuden. Por más que busco en todo internet no he logrado encontrar la solución.
__________________
Piensa siempre en positivo !
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
CreateFileMapping (memoria compartida) Al González API de Windows 2 18-12-2003 15:04:44


La franja horaria es GMT +2. Ahora son las 09:49:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi