Про первую проблему не могу ничего сказать.
Про создание ini файла могу.
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
FName: string;
begin
Fname := ExtractFilePath(Application.ExeName) + 'data.ini';
with TIniFile.Create(FName) do begin
Form2.DateTimePicker1.DateTime :=
StrToDate(ReadString('TmeSet', '1', '01.01.2008'));
Free;
end; //третьим параметром в ReadString можно указать значение по умолчанию,
//которое и будет передано в DateTime, если файла нет
Timer1.Enabled := true;
.....
end;
// и не надо создавать два экземпляра класса TIniFile - это абсолютно ни к чему,
// к тому же происходит утечка памяти - не уничтожается лишний экземпляр
procedure TForm2.BitBtn1Click(Sender: TObject);
var
FName: string;
begin
Fname := ExtractFilePath(Application.ExeName) + 'data.ini';
with TIniFile.Create(FName) do begin
WriteString('TmeSet', '1', DateToStr(DateTimePicker1.DateTime));
Free;
end //если ini файл не создан, то система его создает автоматом
end;
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
Edit1.Enabled := CheckBox1.Checked; //так проще
end;
Зачем таймер в DLL? Вот морока будет. Уверен. что можно проще решить задачу с таймером.