Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| Unconnected |
Сообщение
#1
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Нужно встроить в программу проверку, не запущена ли уже эта её копия. В гугле это есть, но.. осложняется тем, что теоретический дабл-запуск будет как бы фор-кликом, то есть мгновенно после первого запуска. И видимой формы тоже нет..
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
| IUnknown |
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
Цитата А что за заморочка с константой\именем? Я сначала думал, что у автора стиль такой написания Этот "стиль" пришел из Си... Ибо если напишешь так:if (f_m = 0)(пропустишь второй знак равенства), то присвоишь f_m значение ноль, и этим дело закончится. Программа будет компилироваться (кто ж на предупреждения внимание обращает, да они и отключены у многих, стоит ли после этого удивляться, что "90% кода в интернете - ...", ну, ты помнишь), но работать не будет, разумеется. Поэтому пишут так: if (0 == f_m). если здесь упустить один из знаков равенства - то ты уже нарушаешь синтаксис: присвоить значение числовой константе нельзя, компилятор сразу "встанет на дыбы". В языках с Паскалевским синтаксисом это лишено смысла: компилятор так или иначе поднимет тревогу, если ты вместо "=" где-нибудь напишешь ":=", или наоборот... Цитата Блин, меня постоянно пугает, что на одной машине прога работает, а на другой с такой же осью - не будет, или будет как-то непонятно Еще раз: для того, чтобы программа работала одинаково на разных компьютерах (возможно даже с разными ОСями) - нужно очень немного: всего-навсего программа должна быть написана корректно. Особенно это касается IA64. Если какие-то шероховатости на i386 тебе прощались - то 64 битная архитектура за них жестоко наказывает: Неинициализированный мусор на ia64 может быть смертелен как пример... |
Unconnected Отслеживание двойного запуска 25.06.2011 8:12
IUnknown И что? CreateMutex - атомарная операция. Первый из… 25.06.2011 14:49
Unconnected var
f_m: THandle; // mutex
begin
f_m := Creat… 26.06.2011 3:13
IUnknown
program Project1;
{$APPTYPE CONSOLE}
uses… 26.06.2011 3:37
IUnknown Кстати, тут у тебя еще есть неприятные мелочи, кот… 26.06.2011 5:17
Unconnected Угу, спасибо, все сделал по рекомендациям, работае… 26.06.2011 7:14![]() ![]() |
|
Текстовая версия | 5.11.2025 9:43 |