Page 1 of 1
Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 7:01 am
by Aldes
Добрый день!
Подскажите плиз в чем собственно ошибка
si.flags := HAS_USER_NAME OR HAS_EMAIL OR HAS_HARDWARE_ID OR HAS_USER_DATA;
si.pUserName := PWideChar(Name.Text);
si.pEMail := PWideChar(EMail.Text);
si.pHardwareID := PWideChar(HardwareID.text);
si.nUserDataLength := j;
si.pUserData := @a;
где Name, Email и HardwareID поля ввода на форме типа TEdit
a : array (0..255) of byte
собственно все отрабатывает великолепно за одним исключением
полученный серийный номер при импорте в оболочку принимается но вот с полем HARDWAREID проблема поле отмечено а само значение отсутствует
Re: Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 7:09 am
by Admin
Видимо проблема здесь:
Code: Select all
si.pHardwareID := PWideChar(HardwareID.text);
pHardwareID имеет тип PChar, а не PWideChar:
Code: Select all
VMProtectSerialNumberInfo = packed record
flags: Integer;
pUserName: PWideChar;
pEMail: PWideChar;
dwExpDate: Longword;
dwMaxBuildDate: Longword;
nRunningTimeLimit: Byte;
pHardwareID: PChar;
nUserDataLength: Longword;
pUserData: PByte;
end;
Re: Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 7:17 am
by Aldes
К сожалению замена PWideChar на PChar ни к чему не приводит
Результат тот же.
Еще раз подчеркну Delphi 2009 (Если я правильно понимаю то PWideChar и PChar синонимы)
Видимо необходимо провести преобразование но к чему (к какому типу) не могу понять
Re: Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 7:27 am
by Aldes
Спасибо за помощь, нашел решение самостоятельно
вот необходимый вариант
Code: Select all
si.pHardwareID := PChar(PAnsiChar(AnsiString(HardwareID.text)));
Теперь все вери гуд!
Вам респект за VMProtect и за качественный хелп !!!!
Re: Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 7:27 am
by Admin
Code: Select all
si.pHardwareID := PAnsiChar(AnsiString(HardwareID.text));
Re: Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 9:27 am
by Aldes
Осталась одна маленькая проблема
или
Code: Select all
var
x : byte;
....
x := 60;
si.nRunningTimeLimit := x;
....
Значение не передается и в оболочке показывается значение по умолчанию = 30
Re: Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 9:47 am
by Admin
Не забываем про si.flags

Для nRunningTimeLimit надо будет добавить HAS_TIME_LIMIT
Re: Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 9:50 am
by Aldes
Admin wrote:Не забываем про si.flags

Для nRunningTimeLimit надо будет добавить HAS_TIME_LIMIT
Про флаг помню и использую, галочка появляется а само значение НЕТ

Re: Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 10:07 am
by Admin
галочка появляется а само значение НЕТ
Это бага. Поправим в самой ближайшей версии.
Re: Генератор лицензий (DLL) и DELPHI 2009
Posted: Mon Oct 03, 2011 10:34 am
by Aldes
Спасибо, будем ждать