Главная страница
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.011 c
14-80654
|\/\/ \/\/ \/\/|
2002-02-03 05:34
2002.03.25
Два вопроса!


3-80414
Максимка
2002-02-13 18:41
2002.03.25
Access violation в DLL


1-80551
KaPaT
2002-03-09 21:04
2002.03.25
Ребят, помогите если знаете!


3-80399
sniknik
2002-02-21 17:16
2002.03.25
Таблица Pardox без первичного ключа не отдается полным доступом.


1-80474
Alek_1
2002-03-12 13:18
2002.03.25
Как скопировать файл?