Lo prometido es deuda ¡ya regrese!
Si uso TcomPort como un componente dentro de un form ("soltado" desde la paleta) y quisiera guardar su configuracion lo haria asi:
Código Delphi
[-]
procedure TForm1.Button5Click(Sender: TObject);
var
Archivo: string;
begin
Archivo := ExtractFilePath(ParamStr(0)) + 'CommCfg.ini';
ComPort1.StoreSettings(stIniFile, Archivo);
end;
Ahora como estoy jugando con la DLL he declarado esto:
Código Delphi
[-]
procedure GuardarConfiguracion(archivo: PChar); stdCall;
begin
PuertoS.StoreSettings(stIniFile, Archivo);
end;
exports
AjustesActuales,
GuardarConfiguracion;
y lo llamo asi:
Código Delphi
[-]
procedure GuardarConfiguracion(archivo: PChar); stdcall; external 'ComScale.dll';
procedure TForm1.Button5Click(Sender: TObject);
var
Archivo: string;
begin
Archivo := ExtractFilePath(ParamStr(0)) + 'CommCfg.ini';
GuardarConfiguracion(pchar(Archivo));
end;
el error que me manda
Cita:
---------------------------
Debugger Exception Notification
---------------------------
Project UsaComScale.exe raised exception class EComPort with message 'Failed to store settings'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
|
A mi entender el problema estaria en que la funcion en la dll el parametro Archivo se recibe como un PChar y deberia ser un string (en esencia son lo mismo ¿o no?) luego entonces ¿hace falta una conversion mas? ¿como se haria?
¡Esa si no me la se DEC!
Gracias por la ayuda y disculpas por ser tan pesado.