Вот например вся процедура:
Код:
procedure SaveUsers;
var
UsersFile : TextFile;
Buff : String;
begin
if pFist^.Next <> nil then
begin
if FileExists(GetCurrentDir + '\fus.fmp') = true then DeleteFile(GetCurrentDir + '\fus.fmp');
AssignFile(UsersFile, GetCurrentDir + '\fus.fmp');
Rewrite(UsersFile);
pCurrent := pFist^.Next;
while pCurrent^.Next <> nil do
begin
Buff := pCurrent^.Name; // Name
WriteLn (UsersFile, Buff);
Buff := pCurrent^.Login; // Login
WriteLn (UsersFile, Buff);
Buff := pCurrent^.Pass; // Pass
WriteLn (UsersFile, Buff);
Buff := pCurrent^.From; // From
WriteLn (UsersFile, Buff);;
Buff := pCurrent^.SMTPaddres; // SMTPaddres
WriteLn (UsersFile, Buff);
Buff := IntToStr(pTemp^.SMTPport); // SMTPport
WriteLn (UsersFile, Buff);
Buff := pCurrent^.SMTPlogin; // SMTPlogin
WriteLn (UsersFile, Buff);
Buff := pCurrent^.SMTPemail; // SMTPemail
WriteLn (UsersFile, Buff);
Buff := BoolToStr(pTemp^.SMTPautorisation); // SMTPautorisation
WriteLn (UsersFile, Buff);
Buff := pCurrent^.SMTPpass; // SMTPpass
WriteLn (UsersFile, Buff);
Buff := pCurrent^.RazbFile; // RazbFile
WriteLn (UsersFile, Buff);
Buff := pCurrent^.SizeParts; // SizeFile
WriteLn (UsersFile, Buff);
Buff := BoolToStr(pCurrent^.yEnc); // yEnc
Writeln (UsersFile, Buff);
Buff := BoolToStr(pCurrent^.Zip); // ZIP
Writeln (UsersFile, Buff);
Buff := BoolToStr(pCurrent^.Chat); // Chat
WriteLn (UsersFile, Buff);
Buff := IntToStr(pCurrent^.ChatHour); // ChatHour
WriteLn (UsersFile, Buff);
Buff := IntToStr(pCurrent^.ChatMin); // ChatMin
Writeln (UsersFile, Buff);
pCurrent := pCurrent^.Next;
end;
CloseFile (UsersFile);
end;
end;
Весь прикол в том, что эта процедура стабильно работала, сохраняло всё что необходимо, но когда я добавил в программу возможность Drag & Drop, всё, здесь как отрезало. И подобные процедуры то же отказываются работать. Может я задел какую-нибудь глобальную переменную, фиг знает, у меня знакомый говорить, что это могло быть.