Вверх ↑
Этот топик читают: Гость
Ответов: 838
Рейтинг: 4
#1: 2006-06-24 22:18:40 ЛС | профиль | цитата
Подобный компонент я уже делал... но работал он по другому принципу и нужен был для другого... Этот компонент нужен для создания програм, подобных, например, ХиАсму в режиме "одна копия"... То есть все проекты открываются в одной копии запущенной программы.
карма: 0
Coder
0
файлы: 1OneCopy10.rar [1.8KB] [897]
Ответов: 893
Рейтинг: 18
#2: 2007-11-29 01:30:49 ЛС | профиль | цитата
Форма с компонентом глючат при сохранении позиции окна это плохо code_7841.txt
А точнее сохранять сохраняет а при запуске не применяет.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_7841.txt [138B] [672]
Ответов: 1328
Рейтинг: 69
#3: 2007-11-29 10:35:41 ЛС | профиль | цитата
Byuik, Вряд ли его кто-нибудь будет доделывать. Если нужен запуск только 1 копии пример в Example.
карма: 2

0
Ответов: 893
Рейтинг: 18
#4: 2007-11-29 20:31:52 ЛС | профиль | цитата
Konst, и что этот пример помогает асоциировать файлы ?
хотьбы не смешил

[size=-2]------ Добавлено в 20:31
Компонент очень нужный и полезный , ненада голову ломать над асоциацией файлов
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1328
Рейтинг: 69
#5: 2007-11-30 12:33:24 ЛС | профиль | цитата
Я имел в виду только запуск 1 копии программы

------------ Дoбавленo:


Byuik, Попробуй заменить .pas на этот

unit hiOneCopy;

interface

uses Kol,Share,Debug,Windows;

type
THIOneCopy = class(TDebug)
private
Ident: string;
procedure XXX(ID: string);
//procedure YYY(Sender: PObj);
procedure OnAnotherEvent(const CmdLine: String);
public
_prop_Close:boolean;
_prop_Ext,
_prop_Comment,
_prop_IconName: string;

_data_IconName:THI_Event;
_data_Comment:THI_Event;
_data_Ext:THI_Event;
_event_onRun:THI_Event;

//constructor Create;
procedure _work_doRegFileType(var _Data:TData; Index:word);
property _prop_Ident: string write XXX;
end;

implementation


//constructor THIOneCopy.Create;
//begin
// Inherited Create;
// Applet.Children[0].onShow := YYY;
//end;

procedure THIOneCopy._work_doRegFileType;
var
reg:HKey;
path: string;
begin
reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT,'.' + ReadString(_Data,_data_Ext,_prop_Ext));
RegKeySetStr(reg,'',Ident);
RegKeyClose(reg);
reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT,Ident);
RegKeySetStr(reg,'',ReadString(_Data,_data_Comment,_prop_Comment));
RegKeyClose(reg);
reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT,Ident + '\DefaultIcon');
RegKeySetStr(reg,'',ReadString(_Data,_data_IconName,_prop_IconName));
RegKeyClose(reg);
reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT,Ident + '\shell\open\command');
SetLength(path,1024);
SetLength(path,GetModuleFileName(HInstance,PChar(@path[1]),1024));
RegKeySetStr(reg,'','"' + path + '"' + ' "%1"');
RegKeyClose(reg);
end;

procedure THIOneCopy.OnAnotherEvent;
var
k: integer;
CL: string;
begin
CL := CmdLine;
k := pos('" "',CL);
if (k<>0) then
begin
delete(CL,1,k + 3);
delete(CL,Length(CL),1);
end
карма: 2

0
Ответов: 893
Рейтинг: 18
#6: 2007-11-30 13:03:55 ЛС | профиль | цитата
Результат
C:\Program Files\Hiasm167\Elements\delphi\code\hiOneCopy.pas(72) Error: 'END' expected but end of file found

C:\Program Files\Hiasm167\Elements\delphi\code\hiOneCopy.pas(11) Error: Unsatisfied forward or external declaration: 'THIOneCopy.XXX'


карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#7: 2007-11-30 17:51:21 ЛС | профиль | цитата
Dilma, для парсера паскаля какая-то фигня в этом "коде" - смертельная почему-то

И не первый раз уже такое...
карма: 9

0
Ответов: 1328
Рейтинг: 69
#8: 2007-11-30 21:40:13 ЛС | профиль | цитата
Byuik, у меня работает на обоих компах. только это уже не OneCopy
Будут запускатся несколько копий.
карма: 2

0
файлы: 1OneCopy.rar [2.2KB] [469]
Ответов: 893
Рейтинг: 18
#9: 2007-12-01 05:52:25 ЛС | профиль | цитата
Konst, хорошо лижбы работала та часть компонента которая отвечает за асоциацию файлов
Счас скачаю и проверю.

[size=-2]------ Добавлено в 05:52
Konst, могу сказать только одно .... Рабтает превосходно , естли запускать асоциированные файлы то запускается одно приложение или естли оно запущено то открывает файл это и требовалось, второй копии не запускает , и сохраняет положение окна как в INI так и в реестр и правильно запускается.
Konst, Очень большое спасибо за помощь.
Dilma а нельзяли этот компонент добавить в пакет delphi ?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1328
Рейтинг: 69
#10: 2007-12-01 07:08:33 ЛС | профиль | цитата
Byuik, Запускается только одно приложение - OneCopy тут не причем как раз эту часть я закоментил.
А одна копия програмы code_7859.txt

карма: 2

0
Ответов: 893
Рейтинг: 18
#11: 2007-12-02 12:14:05 ЛС | профиль | цитата
Konst, nредположим так, например есть видео файл с расширением video.xxx свяхан он например с программой Плеер.exe , мы запускаем этот видео файл и что происходит ?
А теперь предположим что есть и второй файл video2.xxx но наш плеер уже запущен , что произойдёт после запуска файла video2.xxx ? Плеер остановит проигрование первого файла и начнёт проигрование второго файла а теперь попробуй сказать что копий програм несколько

[size=-2]------ Добавлено в 12:14
Konst, кстати у меня так и не вышло запустить две копии программы
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1328
Рейтинг: 69
#12: 2007-12-02 12:23:52 ЛС | профиль | цитата
Byuik, действительно запускается 1 копия, тода не знаю зачем тот код ваще нужен был, я в этом не больше тебя разбираюсь
карма: 2

0
Ответов: 893
Рейтинг: 18
#13: 2007-12-03 16:16:48 ЛС | профиль | цитата
Konst, всёравно спасибо за помощь , теперь компонент работает идеально и я думаю что можно былоб его добавить в дистрибутив.
Конечно естли Dilma это захочет зделать.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#14: 2007-12-03 16:35:58 ЛС | профиль | цитата
Byuik писал(а):
теперь компонент работает идеально

Особенно идеально осуществляется парсинг командной строки в OnAnotherEvent
карма: 9

0
Ответов: 893
Рейтинг: 18
#15: 2007-12-06 01:18:34 ЛС | профиль | цитата
Galkov писал(а):
Особенно идеально осуществляется парсинг командной строки в OnAnotherEvent

У меня нет ни каких проблем с етим компонентом ни под delphi ни под FPS естли говорить о варианте №2
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)