Форум: "Потрепаться";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
ВнизДва вопроса! Найти похожие ветки
← →
|\/\/ \/\/ \/\/| (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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c