Пакетхак написан очень не грамотно, в нем есть ошибки, для исправления которых придется переписывать 70% пакетхака. И эти ошибки критичны, поэтому постоянно вылетают ошибки приложения.
Неправильный вызов ф-ций DLL это только цветочки, например класс TTimer всегда используется не корректно, так как он использует очередь сообщений главного окна, а в пакетхаке вообще нету правильной синхронизации основного потока и его очередей с потоками скриптов в случае использования Visual Component Library. Подобных ляпов в программе много, исправлять нет смысла, только если полность писать новый продукт.
Много Вас, тут таких критиков. Только и слышно - дай, дай... Сделай лучше, если сможешь и исходники не забудь выложить как Xkor сделал. :(
и ещё ты написал как форму создавать а как просто переменную передать из длл в пакетхак можешь скинуть код ??
Юзай обычные функции с указанным типом возвращаемого параметра и лови этот параметр в скрипте)) Функция его обязательно должна возвратить по идее. :)
Цитата:
SWS я по своему решил проблему создания немодального окна :D
может это конечно не самый лучший вариант но как говорится - "чем богаты..."
я сделал дллку которая генерирует ини файлик (в делфи на удивление просто с ини файлами обращатся)
а затем я просто написал прогу которая читает этот файл и таким образом я связал экзешник с длл
Ты че тупо записываешь какие то параметры из Dll в ини файл, а потом постоянно экзешником в цикле считываешь файл с жесткого диска? Не меня такой кривой способ не устроит, мало того, что параметры передаются не молниеносно, так еще и жёсткий диск постоянно в напряге держать, боже упаси :) Вообще для хорошей и правильной работы с DLL многие заранее в программе предусматривают такое понятие как плагин, т.е. спец образом написанная и оформленная Dll, которая легко прикручивается к программе и взаимодействует с ней, добавляя в нее функциональность, думаю все знают ту же Миранду )) Так вот, можно было бы попросить xkor реализовать хотя бы простейший механизм подключения сторонних Dll, так чтобы они не с помощью скрипта прикручивались, а именно через программу, так было бы намного лучше и правильнее, да и проблем с подключением не было.
Юзай обычные функции с указанным типом возвращаемого параметра и лови этот параметр в скрипте)) Функция его обязательно должна возвратить по идее.
ну вот я юзаю самую обычную функцию funcON с integer как тип возвращаемого параметра
выше я уже писал её код и вызываю её из пакетхака
должно в пакет хак прийти число 2 а приходит все равно пустота :( :( :(
ну что не так что :( помогите нубу :)
вот как я её вызываю
Код:
var
lib,Lib1:Integer;
Res:variant;
ar:array of variant;
procedure Init;
begin
lib := loadLibrary('dllll.dll');
Res := CallFunction(lib1,'funcON',4,[1,1,1,2]);
ShowMessage('!'+VarToStr(Res)+'!');
FreeLibrary(lib);
end;
begin
end.
__________________
На людей сердишся, когда чувсивуешь, что их поступки важны. Ничего подобного я больше не чувствую...
skymanrus, я завтра проверю выложу, должно по идее ))
Во общем xkor сказал, что не видит вариантов возможности вызова окна из Dll обычным, не модальным образом. :(
Скачаю исходники попробую разобраться, главное разобраться в методе внедрения процесса к другому и перехвату приходящих пакетов, для меня это пока сложновато.
Знаю одно, что за это отвечает библеотека inject.dll,которую написал умный программист,т.к. в ней для внедрения в чужой процесс использовались низкоуровневые Native API функции, функции на которых базируются такие библиотеки GUI32.dll, kernel32.dll, user32.dll и т.д. Вся беда в том, что Native API официально не документированы, попробую все таки разобратся в программе и в методе внедрения и перехвата, если разберусь остальное дело техники. :)
skymanrus, будут, по крайне мере я лично собираюсь сделать свою прогу, которая будет так же перехватывать трафик и расшифровывать (я посмотрел уже исходники l2ph). Если хочешь я могу написать отдельную прогу, которая будет перехватывать трафик и отдавать его твоей dll, которую будет очень легко подключить к программе, т.к. именно по той причине, что этого не возможно нормально сделать в l2ph я пишу свою. :)