PDA

Просмотр полной версии : Отображение 2-х "логов" сообщений для 2-х разных скриптов


Anton5
28.12.2008, 14:09
Здравствуёте.
Неподскажет ли кто-нибудь как можно отобразить 2 различные вкладки (2-х разных скриптов) с сообщениями скрипта.
В данный момент при запуске 2-ого скрипта вкладка с сообщениями 1-ого скрипта замещается вторым.
Вызов вобоих скриптах произвожу так:
procedure Init; //Вызывается при включении скрипта
begin
ShowTab;
m:=TMemo.Create(UserTab);
m.parent:=UserTab;
m.align:=alClient;
m.ReadOnly:=true;
m.ScrollBars:=ssBoth;
m.Lines.Add(TimeToStr(now)+': Скрипт запущен');
end;
procedure Free; //Вызывается при выключении скрипта
begin
m.Free;
HideTab;
end;

QaK
28.12.2008, 14:11
делай для каждого скрипта свою формочку,не рисуй на ЮзерТабе.

Anton5
28.12.2008, 14:38
Извениет, но не могли бы вы написать как это делать(буду очень признателен)? Если чесно я незнаю как это сделать. Данный кусок я скопировал из чужого скрипта и использовал сам.

QaK
28.12.2008, 18:43
var m,m1:TMemo;
f1,f2:TForm;
procedure Init; //Вызывается при включении скрипта
begin
f1:=TForm.Create(nil);
f1.width:=100;
f1.heigth:=100;
f1.left:=100;
f1.top:=100;
m:=TMemo.Create(f1);
m.parent:=f1;
m.align:=alClient;
m.ReadOnly:=true;
m.ScrollBars:=ssBoth;
m.Lines.Add(TimeToStr(now)+': Скрипт запущен');

f2:=TForm.Create(nil);
f2.width:=100;
f2.heigth:=100;
f2.left:=300;
f2.top:=100;
m1:=TMemo.Create(f2);
m1.parent:=f2;
m1.align:=alClient;
m1.ReadOnly:=true;
m1.ScrollBars:=ssBoth;
m1.Lines.Add(TimeToStr(now)+': Скрипт запущен');
end;
procedure Free; //Вызывается при выключении скрипта
begin
m.Free;
m1.Free;
f1.Free;
F2.free;
HideTab;
end;

Anton5
28.12.2008, 20:34
Большое спасибо за помощь, но данный код не работает. При проверке происходит ошибка "Ошибка: Undeclared identifier: 'heigth'"
В свой скрипт вставил следующее:
m: TMemo;
f1:TForm;
procedure Init; //Вызывается при включении скрипта
begin
Randomize;
f1:=TForm.Create(nil);
f1.width:=100;
f1.heigth:=100;
f1.left:=100;
f1.top:=100;
m:=TMemo.Create(f1);
m.parent:=f1;
m.align:=alClient;
m.ReadOnly:=true;
m.ScrollBars:=ssBoth;
m.Lines.Add(TimeToStr(now)+': Скрипт запущен');
end;
procedure Free; //Вызывается при выключении скрипта
begin
m.Free;
f1.Free;
HideTab;
end;

QaK
29.12.2008, 06:55
ну, подумаешь, очепятка =)

Anton5
29.12.2008, 10:13
Всё разобрался, нужно было написать height в место heigth. Меня ввело в заблуждение что Google (http://translate.google.com/translate_t?langpair=en|ru) слова heigth и height перевёл одинаково "высота".

Возвращаясь к коду. Проверка происходит нормально, но при выполнение никакого нового окна не появляется, вообще нечего не происходит. Использую версию 3.4.1.70 :unknw:
Скопировал всё в новый пустой файл:

var
m: TMemo;
f1:TForm;

procedure Init; //Вызывается при включении скрипта
begin
f1:=TForm.Create(nil);
f1.width:=1000;
f1.height:=1000;
f1.left:=100;
f1.top:=100;
m:=TMemo.Create(f1);
m.parent:=f1;
m.align:=alClient;
m.ReadOnly:=true;
m.ScrollBars:=ssBoth;
m.Lines.Add(TimeToStr(now)+': Скрипт запущен');
end;

procedure Free; //Вызывается при выключении скрипта
begin
m.Free;
f1.Free;
HideTab;
end;

begin

end.

QaK
29.12.2008, 10:37
ну дык а мой код почему не скопирячил? у меня ж 2 формочки.

Anton5
29.12.2008, 10:53
Так ведь вторая часть кода для открытия второго окна. Мне бы пока хотя бы для одного скрипта открыть окно с логом, а для 2-ого потом сделаю копи-паст с небольшими изменениями(f1->f2, m->m1).

QaK
29.12.2008, 13:47
забыл добавить в Init f1.Show в конце, после инициализации

Anton5
29.12.2008, 19:09
О класно всё работает. Спасибо огромное.