Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.25;
Скачать: CL | DM;

Вниз

Два вопроса!   Найти похожие ветки 

 
|\/\/ \/\/ \/\/|   (2002-02-03 05:34) [0]

Здравствуйте!
У меня 2 вопроса:
1) У меня есть 3 формы, одна из них главная, соответственно она появляется первая, затем по нажатии кнопкина ней появляется вторая, а первая прячется, но мне надо ее закрыть, т.к. она ест много ресурсов... как мне это сделать, не закрывая само приложение?
2) Нужно сделать обновлялку как в АвП, но не знаю с чего начать... подскажите...


 
Serg001 ©   (2002-02-03 07:06) [1]

Много каких ресурсов? Если оперативки то например освобождай
память из-под переменных с помощью FreeMem и т.д.


 
|\/\/ \/\/ \/\/|   (2002-02-03 08:07) [2]

У меня там картинок много...


 
Petrovich ©   (2002-02-03 08:37) [3]

Обновлялку это фигня. Проверяешь наличие в каком-то месте файла, читаешь его размер. Потом читаешь размер локального, если разные то переписываешь.


 
|\/\/ \/\/ \/\/|   (2002-02-03 08:54) [4]

>Petrovich
хм... логично, но как? :o


 
Song ©   (2002-02-03 09:38) [5]

Как раз недавно делал такую фигню. Тебе сейчас приведу прмер:

Procedure UpGradeCheck;
Var ff:TextFile;
SearchRec,SearchRecOwn:TSearchRec;
Begin
IF FindFirst("новый.exe",faAnyFile,SearchRec)<>0 then FindClose(SearchRec)
else
// старый exe (т.е. та пага что у тебя сейчас загружена
IF FindFirst(Application.ExeName,faAnyFile,SearchRecOwn)=0 then
IF (SearchRec.Size<>SearchRecOwn.Size) or ((SearchRec.Time>SearchRecOwn.Time) and (FileAge("новый.exe")>=FileAge(Application.ExeName))) then
IF MessageDlg("Программа требует обновления. Нажмите <Ok>, а потом любую клавишу в окне обновления",mtInformation,[mbOk,mbCancel],0)=mrOk then
Begin
AssignFile(ff,"replace.bat"); // батник для замены
ReWrite(ff);
try
WriteLn(ff,"@echo off");
WriteLn(ff,"pause");
WriteLn(ff,"copy ""+"новый.exe"+"""+#32+"""+"текущий_каталог"+"""+" /Y");
WriteLn(ff,SearchRec.Name); // новый exe
Flush(ff);
finally
CloseFile(ff);
end;
FindClose(SearchRecOwn);
{...}
{освобождаешь здесь все переменные, что возможно создал}
ShellExecute(Handle,"open",PChar("replace.bat"),nil,nil,SW_MAXIMIZE);
Halt;
End Else FindClose(SearchRecOwn);
End;

ЗЫ: Она у меня немного другая, поэтому переделывал на ходу,поэтому если чего будет непонятно или будут ошибки пиши на мыло.


 
pasha676   (2002-02-04 11:52) [6]

1) Всегда невидимая главная форма решает эту проблемму. А 1,2 и остальные формы от нее пляшут.


 
Pete ©   (2002-02-04 12:19) [7]

А ты при загрузке создавай форму ту, которая нужна. А не нужную можно убить Free or Destroy. Но вызывать придется нужную форму через Create.


 
[\/\/ \/\/ \/\/]   (2002-02-04 12:25) [8]

Интересно, а как эта тема оказалась в "Потрепаться"?
И вообще я давно тут не появлялся, раньше здесь был чувак lel, а сейчас он куда делся?


 
[\/\/ \/\/ \/\/]   (2002-02-05 17:14) [9]

а почему все молчат?


 
Song ©   (2002-02-09 18:14) [10]

Тебе ответили на вопрос, в чём проблема?


 
Anatoly Podgoretsky ©   (2002-02-09 20:09) [11]

Ну так заведи новую верку Где ты "чувак" lel и нечего обижаться.



Страницы: 1 вся ветка

Текущий архив: 2002.03.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
1-80475
kronos
2002-03-12 13:44
2002.03.25
Как получить текущую дату???


14-80657
nick_vstu
2002-02-10 01:42
2002.03.25
Похожие сайты


3-80402
Eto
2002-02-26 10:52
2002.03.25
Подключение к Excel через BDE


1-80472
Vovik
2002-03-12 10:16
2002.03.25
Мастера , подскажите


7-80708
3d[Power]
2001-12-21 11:17
2002.03.25
окна...