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;
if FileExists(ExtractFilePath(ParamStr(0))+moduleName) then
begin
handle := LoadPackage(ExtractFilePath(ParamStr(0))+moduleName);
if handle <> 0 then
begin
try
@FuncGetMainManu := GetProcAddress(handle,'getMenu');
if Assigned(FuncGetMainManu) then
begin
Result := FuncGetMainManu;
end
else
Result := menuName;
finally
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.