|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.06.2007, 20:44 | #1 |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
запуск програмы
сделал прогу и нужно чтобы писало сообщение когда заприщается запуск копии:
program MusON; uses only_one, Forms, Dialogs, inifiles, SysUtils, Main in 'Main.pas' {Form1}, Unit2 in 'Unit2.pas' {Creators}, Playlist_ in 'Playlist_.pas' {PlayList}, reg in 'reg.pas' {Registration}, SysInfoS in 'SysInfoS.pas' {Infos}, Shos in 'Shos.pas' {MaxVideo}, Option in 'Option.pas' {OPTIONS}, file_options in 'file_options.pas' {File_option}; {$R *.res} const UniqueString = 'MyProgramMutex'; {Может быть любое слово. Желательно латинскими буквами.} var f:tinifile; d:boolean; begin if not init_mutex(UniqueString) then begin f:=f.Create(extractfilepath(paramst r(0))+'ControlINI\Options.ini'); d:=f.ReadBool('Run','Copy',false); //тут читаем позволяется ли запускать копию if d=false then begin showmessage(' ') //вот тут это сообщение.. exit; {Выходим до инициализации, если мьютекс уже есть} end; f.Free; end; Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TOPTIONS, OPTIONS); ..... end. Дело в том что программа не хочет выдавать сообщение а выбивает ошыбку с какимто адресом в памяти.. Что подскажыте? нужно чем побыстрее...
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
|
02.06.2007, 23:18 | #2 |
Любитель
Пользователь
Регистрация: 29.05.2007
Сообщений: 16
|
Возможно, ошибка в процедуре init_mutex ? Она не описана здесь, потому не могу сказать наверняка.
Хочешь рассмешить Бога, расскажи ему о планах на завтра…
|
03.06.2007, 15:18 | #3 |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
вот модуль который использует эта процэдура, но писал не я ... такчто помогите розобратся если в нём
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
|
03.06.2007, 15:18 | #4 |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
вот модуль который использует эта процэдура, но писал не я ... такчто помогите розобратся с ним
unit Only_One; interface function Init_Mutex(mid: string): boolean; implementation uses Windows; var mut: thandle; function mut_id(s: string): string; var f: integer; begin result := s; for f := 1 to length(s) do if result[f] = '\' then result[f] := '_'; end; function Init_Mutex(mid: string): boolean; begin Mut := CreateMutex(nil, false, pchar(mut_id(mid))); Result := not ((Mut = 0) or (GetLastError = ERROR_ALREADY_EXISTS)); end; initialization mut := 0; finalization if mut <> 0 then CloseHandle(mut); end.
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
|
03.06.2007, 16:02 | #5 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
запрет на запуск можно реализовать и без файлов!
Код:
Последний раз редактировалось rpy3uH; 03.06.2007 в 16:04. |
03.06.2007, 16:11 | #6 | |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
Цитата:
вобщем мне нужно чтобы допускалось запускание нескольких копий програмы и наоборот, и это должно читатся с ini-файла... вот и всё... ПЛЛИИИЗ напишы то что мне нужно использовать...ато писал не я а розбераться времени нету... екзамены....
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
|
|
04.06.2007, 17:45 | #7 |
Форумчанин
Регистрация: 24.01.2007
Сообщений: 323
|
Сообщение от rpy3uH
запрет на запуск можно реализовать и без файлов! мне нужно чтобы програма обращалась к файлу, но почему не хочет работать програма с чтением строк из ини-файла??? ВОБЩЕМ, КАК ОРГАНИЗОВАТЬ ЧТЕНИЕ ИЗ ИНИ-ФАЙЛА ЧТОБЫ НЕ ВЫБИВАЛО ОШЫБОК??? Но если это не в этом проблема тогда я незнаю в чём... у кого получится пожалуста пришлите как зделали, или помогите розобратся с этим
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
|
04.06.2007, 18:33 | #8 | |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Объект TIniFile, который ты только объявил еще не создан, и уж тем более он не может создать сам себя
Цитата:
f:=TIniFile.Create(extractfilepath( paramstr(0))+'ControlI NI\Options.ini'); Может есть ещё ошибки, лень разбираться =) -- И я тоже не доганяю, зачем мудрить с файлами? -- упд 2 Если уж пользуешься TApplication то Код:
-- упд 3 Application.CreateForm(TOPTIONS, OPTIONS); явно не главная форма, и все формы, что идут за ней, лучше создавать и уничтожать динамически, когда они будут нужны, программа будет намного меньше памяти кушать
пыщь
Последний раз редактировалось JTG; 04.06.2007 в 18:42. |
|
04.06.2007, 20:31 | #9 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
зачем мучиться с ini файлами,используй простой файл и держи в нём только одну строку в которой указано можно ли запускаться
|
05.06.2007, 10:48 | #10 | |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Ну про ини-файлы, думаю, уже всё ясно
Цитата:
пыщь
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как открывать песню при ее перетаскивании на ярлык програмы | SeRhy | Общие вопросы Delphi | 2 | 14.03.2008 18:50 |
Локализация програмы | neo_m | Помощь студентам | 4 | 10.03.2008 15:24 |
Как очистить Bitmap в ходе выполнения програмы | SeRhy | Помощь студентам | 1 | 06.12.2007 21:47 |
Очень нужно сделать 2 програмы!!! Help !!! Помогите !!! | Nazarik | Помощь студентам | 7 | 24.02.2007 01:51 |