Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 08-11-2007
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 22
walito Va por buen camino
DEC!! sos groso. Sabes que nunca le di pelota a ese cartel, y tenias razon, en la libreria BPL cambie a que la funcion exportada retornara un PChar y andubo todo bien.


EDITADO
--------

Te comento que dentro de la funcion que tenia problemas se solucionaron, te muestro la funcion:

Código Delphi [-]
function TModules.getMainMenu(moduleName: string): PChar;
var
  FuncGetMainManu: TGetMainMenu;
  menuName: PChar;
begin
    menuName := nil;

    {* verifico que el modulo existe, junto con el archivo *}
    if FileExists(ExtractFilePath(ParamStr(0))+moduleName) then
    begin
        {* Cargo el modulo a memoria *}
        handle := LoadPackage(ExtractFilePath(ParamStr(0))+moduleName);

        {* si es un modulo válido *}
        if handle <> 0 then
        begin
            try
               {* llamo el modulo *}
               @FuncGetMainManu := GetProcAddress(handle,'getMenu');

               if Assigned(FuncGetMainManu) then
               begin
                    {* extraigo el nombre del menu principal *}
                    Result := FuncGetMainManu;
                end
                else
                    Result := menuName;
            finally
                {* libero memoria *}
                UnloadPackage(handle);
            end;
        end
        else
            Result := menuName;
    end
    else
        Result := menuName;
end;

esta es mi funcion de la bpl
Código Delphi [-]
function getMenu: PChar;
begin
    Result := PChar('test');
end;

exports
getMenu;


Pero ahora cuando intento usar el PChar que me retorno la funcion me da error de memoria, y ya no se ni como castearlo, probe de barias formas y nada, tambien lo depure linea por linea y la funcion me retorna bien al parecer, pero la variable a la que le asigne dicho retorno no la puedo inspeccionar y si hago un showmeesage o messagebox da error de memoria.

Alguna sugerencia?

Gracias Dec.

Última edición por walito fecha: 08-11-2007 a las 14:25:14.
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 00:03:56.


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