Пользователь приобрел программу с сайта (http://homesoftwaretools.com) и установил. По началу, согласно его заверениям, она у него исправно работала (он даже написал положительный отзыв). Спустя како-то время перестала, хотя, опять же по его словам, он ничего в системе не менял.
При запуске программы процесс появляется в памяти, но окно приложения не отображается. Я собрал для него отладочную версию, куда засунул логирование запусков всех процедур/функций главного модуля. Оказалось, что инициализация приложения и Create главной формы нормально отрабатывают. Все точно так же, как и на моем компьютере (WinXP x86 sp3), за исключением одного — не открывается окно приложения.
Причем, диалоговые окна он видит, т.е. получается, что программа работает, а не висит... Может кто сталкивался с чем-то подобным или подскажет в какую сторону копать?
Спасибо.
для регистрации можно использовать:
mail@mail.ru
HSTPM-NC-R854WL-86T9-I9
Здравствуйте, wildarg, Вы писали:
W>Пользователь приобрел программу с сайта (http://homesoftwaretools.com) и установил. По началу, согласно его заверениям, она у него исправно работала (он даже написал положительный отзыв). Спустя како-то время перестала, хотя, опять же по его словам, он ничего в системе не менял. W>При запуске программы процесс появляется в памяти, но окно приложения не отображается. Я собрал для него отладочную версию, куда засунул логирование запусков всех процедур/функций главного модуля. Оказалось, что инициализация приложения и Create главной формы нормально отрабатывают. Все точно так же, как и на моем компьютере (WinXP x86 sp3), за исключением одного — не открывается окно приложения. W>Причем, диалоговые окна он видит, т.е. получается, что программа работает, а не висит... Может кто сталкивался с чем-то подобным или подскажет в какую сторону копать? W>Спасибо.
W>для регистрации можно использовать: W>mail@mail.ru W>HSTPM-NC-R854WL-86T9-I9
Скачал, позапускал на 7 х64, все нормально работает
Здравствуйте, wildarg, Вы писали:
W>Причем, диалоговые окна он видит, т.е. получается, что программа работает, а не висит... Может кто сталкивался с чем-то подобным или подскажет в какую сторону копать?
Окошко программы появляется за пределами экрана. Меня похожая проблема тоже доставала некоторое время.
I>Окошко программы появляется за пределами экрана. Меня похожая проблема тоже доставала некоторое время.
А то, что на таскбаре оно не появляется — такое возможно?
S>Возможно окно в пределах невидимости и сохранено положение, к примеру у юзера было два монитора, потом стал один, может по другой причине.
а как же все таки таскбар? )
Здравствуйте, wildarg, Вы писали:
W>а как же все таки таскбар? )
Семерка у меня только на ноуте, не очень часто ею пользуюсь. Но как я заметил, на новом таскбаре, если приложение pinned, то не появляется дополнительно на таскбаре. Также не стоит дословно верить словам пользователя, может он не правильно выразился. Так программа запоминает положение окна? Если да, то возможно это единственная проблема.
S>Семерка у меня только на ноуте, не очень часто ею пользуюсь. Но как я заметил, на новом таскбаре, если приложение pinned, то не появляется дополнительно на таскбаре. Также не стоит дословно верить словам пользователя, может он не правильно выразился. Так программа запоминает положение окна? Если да, то возможно это единственная проблема.
спасибо, попробую... выслал ему предложение грохнуть инишник.
А pinned — это как?
Здравствуйте, wildarg, Вы писали:
W>Пользователь приобрел программу с сайта (http://homesoftwaretools.com) и установил. По началу, согласно его заверениям, она у него исправно работала (он даже написал положительный отзыв). Спустя како-то время перестала, хотя, опять же по его словам, он ничего в системе не менял. W>При запуске программы процесс появляется в памяти, но окно приложения не отображается. Я собрал для него отладочную версию, куда засунул логирование запусков всех процедур/функций главного модуля. Оказалось, что инициализация приложения и Create главной формы нормально отрабатывают. Все точно так же, как и на моем компьютере (WinXP x86 sp3), за исключением одного — не открывается окно приложения. W>Причем, диалоговые окна он видит, т.е. получается, что программа работает, а не висит... Может кто сталкивался с чем-то подобным или подскажет в какую сторону копать? W>Спасибо.
W>для регистрации можно использовать: W>mail@mail.ru W>HSTPM-NC-R854WL-86T9-I9
Добрый день.
Если у кастомера стоит Symantec Antivirus, то пускай он добавит вашу программу в качестве исключения.
Здравствуйте, wildarg, Вы писали:
I>>Окошко программы появляется за пределами экрана. Меня похожая проблема тоже доставала некоторое время. W>А то, что на таскбаре оно не появляется — такое возможно?
На чем написано? Если на Delphi 7, то вы в курсе, что фиксить надо чтобы на таскбаре нормально отображалось?
Здравствуйте, bolide, Вы писали:
B>Здравствуйте, Vitt, Вы писали:
V>>На чем написано? Если на Delphi 7, то вы в курсе, что фиксить надо чтобы на таскбаре нормально отображалось?
B>О, а как фиксить? Не помню уже, может что-то и делал для этого, а может нет, но на таскбаре все мои дельфевые программы видно
Я обычно все формы не от TForm наследую, а от своего TVForm, выглядит примерно так:
procedure TVForm.DoCreate;
begin
if IsWindowsVista then
begin
SetVistaFonts(Self);
//
if Application.MainForm = nil then
begin
HideAppFormTaskBarButton;
//фикс отрисовки при переключении по Alt. взял тут: http://qc.codegear.com/wc/qcmain.aspx?d=37403
//TVistaAltFix.Create(Self);
end;
end;
//
inherited;
end;
function IsWindowsVista: Boolean;
var
VerInfo: TOSVersionInfoEx;
pVerInfo: POSVersionInfo;
begin
VerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfoEx);
pVerInfo := @VerInfo;
GetVersionEx(pVerInfo^);
Result := VerInfo.dwMajorVersion >= 6;
end;
procedure TVForm.HideAppFormTaskBarButton;
begin
ShowWindow(Application.Handle, SW_HIDE);
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) and not WS_EX_APPWINDOW
or WS_EX_TOOLWINDOW);
ShowWindow(Application.Handle, SW_SHOW);
end;
procedure TVForm.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
if IsWindowsVista then
begin
Params.ExStyle := Params.ExStyle and not WS_EX_TOOLWINDOW or
WS_EX_APPWINDOW;
end;
end;
procedure TVForm.WMSyscommand(var Message: TWmSysCommand);
begin
if IsWindowsVista then
begin
case (Message.CmdType and $FFF0) of
SC_MINIMIZE:
begin
ShowWindow(Handle, SW_MINIMIZE);
Message.Result := 0;
end;
SC_RESTORE:
begin
ShowWindow(Handle, SW_RESTORE);
Message.Result := 0;
end;
else
inherited;
end;
end else
inherited;
end;
procedure TVForm.WMActivate(var Message: TWMActivate);
begin
if IsWindowsVista then
begin
if (Message.Active = WA_ACTIVE) and not IsWindowEnabled(Handle) then
begin
SetActiveWindow(Application.Handle);
Message.Result := 0;
end else
inherited;
end else
inherited;
end;
Проблема решена Все оказалось просто
Программа сохраняет свои настройки в ini-файл, а после запуска их восстанавливает. В числе настроек — WindowState главной формы приложения. Чтение настроек происходит на FormCreate. И вот что удивительно — следующий код
procedure TForm1.FormCreate(Sender: TObject);
begin
WindowState := wsMinimized;
end;
собранный на Delphi 2006 запускает программу просто в свернутом режиме — кнопка на таскбаре появляется
но будучи собранным на Delphi XE — программа при запуске появляется в списке процессов, но ни кнопки на таскбаре, ни главного окна на десктопе не появляется...
Здравствуйте, wildarg, Вы писали:
W>собранный на Delphi 2006 запускает программу просто в свернутом режиме — кнопка на таскбаре появляется W>но будучи собранным на Delphi XE — программа при запуске появляется в списке процессов, но ни кнопки на таскбаре, ни главного окна на десктопе не появляется...
Насколько помню — это с Delphi 2007 поменялся порядок инициализации формы. У меня из-за этого хуки клипборда отвалились и еще чего-то не работало.