Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 30-01-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
A primera vista te ha fallado la definición del tipo de datos de TSetting, las APIs que utilizas funcionan con punteros, y tu estas haciendo una declaracion de un puntero de un string, pero el string array de caracteres convencional, tiene un indicador del "Length".

Aparte noté que usabas SizeOf(Settings^))... SizeOf toda la vida te va a devolver un valor errado... por que no utilizaste Length?, en fin... le doy un pequeño retoque a tu unidad y la pongo en el post para que "el resto" la encuentre facilmente;

Código Delphi [-]
unit SettingsDef;
 
interface
 
function WriteSettings(Filename: PChar; Data: PChar): LongBool;
function ReadSettings(var Data: PChar): LongBool;
 
implementation
 
uses Windows;
 
const RC_SETTINGS = 'CFG';
 
function WriteSettings(Filename: PChar; Data: PChar): LongBool;
var hResource: Cardinal;
begin
 hResource := BeginUpdateResource(Filename, False);
 Result := LongBool(hResource);
 if Result then
  begin
   Result := UpdateResource(hResource, RT_RCDATA, RC_SETTINGS, 0, Data, lstrlen(Data));
   EndUpdateResource(hResource, False);
  end;
end;
 
function ReadSettings(var Data: PChar): LongBool;
var hResource, hData: Cardinal;
begin
 Result := False;
 hResource := FindResource(hInstance, RC_SETTINGS, RT_RCDATA);
 if Longbool(hResource) then
  begin
   hData := LoadResource(hInstance, hResource);
   if LongBool(hData) then
    begin
     Data := LockResource(hData);
     Result := True;
    end;
  end;
end;
 
end.

Ahora la unidad funciona a la perfección .
Los cambios dan como resultado cambios en la llamada tambien;

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
 if WriteSettings('..\Read\Project2.exe', 'ClubDelphi rules...') then
  ShowMessage('Se ha grabado correctamente.');
end;

procedure TForm1.Button2Click(Sender: TObject);
var Data: PChar;
begin
 if ReadSettings(Data) then
  ShowMessage('Se ha cargado la configuración correctamente.');
 Edit1.Text := Data;
end;

Saludos
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
comunicacion entre dos aplicaciones haron Varios 6 04-09-2007 00:53:29
Compatibilidad entre aplicaciones ASP.NET entre Delphi 8 .Net y Visual Studio.Net kenyamg .NET 0 21-02-2007 07:30:33
Error no permission for read-write access to database... JuanErasmo Conexión con bases de datos 0 06-12-2006 21:18:59
propiedades ¿READ, WRITE? jam888 Varios 8 11-01-2006 20:03:12
Como hacer una ZTable Read-Write pyanqn Varios 1 03-11-2005 19:21:43


La franja horaria es GMT +2. Ahora son las 19:47:12.


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