Страница 6 из 26
Re: Технология создания плагинов
Добавлено: 16:08, 21.09.2010
KGB
Maxim Mirgorodsky,
Что может привести к
Код: Выделить всё
[21.09.2010 17:23:55] Ошибка при обработке программой сообщения от плагина "Mafia.cfplug" c ID=0. Плагин остановлен.
? Что нужно передать программе, чтобы вызвать такую ошибку?
anonim,
попробуйте так:
Код: Выделить всё
if Assigned(Form1) then
begin
if Assigned(Form1.sSkinmanager1) then
Form1.sSkinmanager1.Active:=false;
if Assigned(Form1.FilterGraph1) then
FreeAndNil(Form1.FilterGraph1);
end;
FreeAndNil(Form3);
FreeAndNil(Form2);
FreeAndNil(Form1);
ZigZagkms
Вам лучше попробовать воспользоваться оператором try ... catch, чтобы понять причину ошибки.
Насколько я помню, к свойству Items нельзя обращаться, если у элемента ListBox нет компонента-родителя. Не особо силён в C++

Re: Технология создания плагинов
Добавлено: 16:18, 21.09.2010
-=SJ=-
KGB писал(а):
попробуйте так:
Код: Выделить всё
if Assigned(Form1) then
begin
if Assigned(Form1.sSkinmanager1) then
Form1.sSkinmanager1.Active:=false;
if Assigned(Form1.FilterGraph1) then
FreeAndNil(Form1.FilterGraph1);
end;
FreeAndNil(Form3);
FreeAndNil(Form2);
FreeAndNil(Form1);
Еще не понятно что такое FilterGraph1 если это компонент установленный на форму в дизайнере то его не надо освобождать вручную так, как при освобождении Form1 может тоже выскочить ошибка при доступе к уже уничтоженному объекту
Re: Технология создания плагинов
Добавлено: 16:20, 21.09.2010
ОреЛ
Есть кто владеющий C# для импорта с C++ на C#?
Re: Технология создания плагинов
Добавлено: 16:29, 21.09.2010
Maxim Mirgorodsky
KGB писал(а):Maxim Mirgorodsky,
Что может привести к
Код: Выделить всё
[21.09.2010 17:23:55] Ошибка при обработке программой сообщения от плагина "Mafia.cfplug" c ID=0. Плагин остановлен.
? Что нужно передать программе, чтобы вызвать такую ошибку?
Не должно быть такого, разве что в памяти какие-то ошибки. Это проявилось один раз?
Re: Технология создания плагинов
Добавлено: 16:31, 21.09.2010
KGB
Maxim Mirgorodsky писал(а):KGB писал(а):Maxim Mirgorodsky,
Что может привести к
Код: Выделить всё
[21.09.2010 17:23:55] Ошибка при обработке программой сообщения от плагина "Mafia.cfplug" c ID=0. Плагин остановлен.
? Что нужно передать программе, чтобы вызвать такую ошибку?
Не должно быть такого, разве что в памяти какие-то ошибки. Это проявилось один раз?
У меня не проявлялось ни разу, иногда проявляется у пользователей, как я заметил, при нескольких действиях плагина подряд (закрытие всех открытых приватов, отправка большого количества приватов и т.п)
Re: Технология создания плагинов
Добавлено: 16:46, 21.09.2010
sasha
KGB писал(а):Maxim Mirgorodsky писал(а):KGB писал(а):Maxim Mirgorodsky,
Что может привести к
Код: Выделить всё
[21.09.2010 17:23:55] Ошибка при обработке программой сообщения от плагина "Mafia.cfplug" c ID=0. Плагин остановлен.
? Что нужно передать программе, чтобы вызвать такую ошибку?
Не должно быть такого, разве что в памяти какие-то ошибки. Это проявилось один раз?
У меня не проявлялось ни разу, иногда проявляется у пользователей, как я заметил, при нескольких действиях плагина подряд (закрытие всех открытых приватов, отправка большого количества приватов и т.п)
Лично у меня появлялось уже 3 раза!
Re: Технология создания плагинов
Добавлено: 16:48, 21.09.2010
SV
-=SJ=- писал(а):KGB писал(а):
попробуйте так:
Код: Выделить всё
if Assigned(Form1) then
begin
if Assigned(Form1.sSkinmanager1) then
Form1.sSkinmanager1.Active:=false;
if Assigned(Form1.FilterGraph1) then
FreeAndNil(Form1.FilterGraph1);
end;
FreeAndNil(Form3);
FreeAndNil(Form2);
FreeAndNil(Form1);
Еще не понятно что такое FilterGraph1 если это компонент установленный на форму в дизайнере то его не надо освобождать вручную так, как при освобождении Form1 может тоже выскочить ошибка при доступе к уже уничтоженному объекту
Это компонент каторый не использует sSkinmanager,это компонент для воспроизведение мультимедийных файлов.
Re: Технология создания плагинов
Добавлено: 16:53, 21.09.2010
SV
KGB писал(а):
anonim,
попробуйте так:
Код: Выделить всё
if Assigned(Form1) then
begin
if Assigned(Form1.sSkinmanager1) then
Form1.sSkinmanager1.Active:=false;
if Assigned(Form1.FilterGraph1) then
FreeAndNil(Form1.FilterGraph1);
end;
FreeAndNil(Form3);
FreeAndNil(Form2);
FreeAndNil(Form1);
Не помогло,неподскажите ещё варианты?
Re: Технология создания плагинов
Добавлено: 17:03, 21.09.2010
dr1v3
Поковырял тут api для серверного плагина и возникло два вопроса: как обрабатывать приглашения в каналы и как зайти в "закрытый" канал, т.е. тот, куда можно только пригласить? И ещё: когда пытаюсь зайти в канал по 1026, не пускает с кодом 1091.1 P.S. Не пускает в уже созданные каналы, а создавать и заходить получается.
Код: Выделить всё
var aDataToSend : AnsiString;
uText : String;
begin
aDataToSend :=fTextToAnsiString(frm_Settings.lbledt_nick.text)+
fIntegerToAnsiString(1)+
fTextToAnsiString(frm_Settings.edt1.text)+
fIntegerToAnsiString(0);
CommFortProcess(dwPluginID, 1026, PAnsiChar(aDataToSend), Length(aDataToSend));
end;
Re: Технология создания плагинов
Добавлено: 17:11, 21.09.2010
KGB
Не помогло,неподскажите ещё варианты?
Как уже сказал
-=SJ=-, попробуйте вообще не освобождать FilterGraph1.
Поковырял тут api для серверного плагина и возникло два вопроса: как обрабатывать приглашения в каналы и как зайти в "закрытый" канал, т.е. тот, куда можно только пригласить?
1. Пока никак;
2. Дать плагину права (кажется, на модерирование канала), пока по-другому, кажется, тоже никак

Re: Технология создания плагинов
Добавлено: 17:34, 21.09.2010
dr1v3
KGB писал(а):
2. Дать плагину права (кажется, на модерирование канала), пока по-другому, кажется, тоже никак

И все же не пойму, почему плагин не заходит в каналы... Права пробовал давать, не помогло
Re: Технология создания плагинов
Добавлено: 18:26, 21.09.2010
@serg@
Maxim Mirgorodsky писал(а):@serg@ писал(а):Есть предположение о некорректном распознании режима для ID=67.
Если кто может перепроверьте
Посмотрели - вроде нет проблем.
Опишите подробнее что именно не получается с режимом.
Обращаем внимание, что если канал уже создан, то производится только вход, а значение режима игнорируется.
Создаю каналы (имена флудовские. чтоб точно до этого такого канала не было создано):
выавыававыавы=0
авпавпаввыав=1
цукуцкуцкуцкуц=2
мсимсимимимс=3
прилагаю скрины
- 1.jpg
- (63.29 КБ) 52 скачивания
- 2.jpg
- (65.32 КБ) 50 скачиваний
- 4.jpg
- (63.73 КБ) 50 скачиваний
Re: Технология создания плагинов
Добавлено: 18:32, 21.09.2010
@serg@
- 3.jpg
- (63.73 КБ) 49 скачиваний
клиент 5.00e, вручную создаются каналы, отображаемые в списке
код
Код: Выделить всё
AnsiString s;
int offset=0;
s.SetLength(8+LabeledEdit2->Text.Length()*2);
fWriteInteger(s.c_str(),&offset,RadioGroup2->ItemIndex);
fWriteText(s.c_str(),&offset,LabeledEdit2->Text);
Memo4->Lines->Add(LabeledEdit2->Text+"="+UnicodeString(RadioGroup2->ItemIndex));
events(67,s);
и
Код: Выделить всё
bool events (DWORD dwID, AnsiString s)
{
(*CommFortProcess)(dwPluginID,dwID,s.c_str(),s.Length());
}
Re: Технология создания плагинов
Добавлено: 00:37, 22.09.2010
$teelR@t
Maxim Mirgorodsky, а я так вижу для плагинов отдельные потоки не выделяются? То есть если плагин зависнет, то и сервак вместе с ним...
Re: Технология создания плагинов
Добавлено: 09:53, 22.09.2010
dr1v3
Эээ спрошу ещё раз: только у меня виртуальный юзер из серверного плагина не может заходить на указанные каналы?