Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.006 c
3-80384
hooky-mars
2002-02-25 14:03
2002.03.25
Excel


1-80605
AEro
2002-03-11 10:04
2002.03.25
Как присвоить значение переменной в bat-файле?


3-80408
tovSuhov
2002-02-25 14:49
2002.03.25
Еще вот такой вопрос...


1-80571
BofA
2002-03-09 16:00
2002.03.25
Как дописать данные в начало файла?


1-80590
AlexNord
2002-03-10 03:19
2002.03.25
Progress Bar или что то похожее!:)




   Наверх