Генератор лицензий (DLL) и DELPHI 2009
Генератор лицензий (DLL) и DELPHI 2009
Добрый день!
Подскажите плиз в чем собственно ошибка
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 проблема поле отмечено а само значение отсутствует
Подскажите плиз в чем собственно ошибка
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
Видимо проблема здесь:
pHardwareID имеет тип PChar, а не PWideChar:
Code: Select all
si.pHardwareID := PWideChar(HardwareID.text);
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
К сожалению замена PWideChar на PChar ни к чему не приводит
Результат тот же.
Еще раз подчеркну Delphi 2009 (Если я правильно понимаю то PWideChar и PChar синонимы)
Видимо необходимо провести преобразование но к чему (к какому типу) не могу понять
Результат тот же.
Еще раз подчеркну Delphi 2009 (Если я правильно понимаю то PWideChar и PChar синонимы)
Видимо необходимо провести преобразование но к чему (к какому типу) не могу понять
Re: Генератор лицензий (DLL) и DELPHI 2009
Спасибо за помощь, нашел решение самостоятельно
вот необходимый вариант
Теперь все вери гуд!
Вам респект за VMProtect и за качественный хелп !!!!
вот необходимый вариант
Code: Select all
si.pHardwareID := PChar(PAnsiChar(AnsiString(HardwareID.text)));
Вам респект за VMProtect и за качественный хелп !!!!
Re: Генератор лицензий (DLL) и DELPHI 2009
Code: Select all
si.pHardwareID := PAnsiChar(AnsiString(HardwareID.text));
Re: Генератор лицензий (DLL) и DELPHI 2009
Осталась одна маленькая проблема
или
Значение не передается и в оболочке показывается значение по умолчанию = 30
Code: Select all
si.nRunningTimeLimit := 60;
Code: Select all
var
x : byte;
....
x := 60;
si.nRunningTimeLimit := x;
....
Re: Генератор лицензий (DLL) и DELPHI 2009
Не забываем про si.flags
Для nRunningTimeLimit надо будет добавить HAS_TIME_LIMIT

Re: Генератор лицензий (DLL) и DELPHI 2009
Про флаг помню и использую, галочка появляется а само значение НЕТAdmin wrote:Не забываем про si.flagsДля nRunningTimeLimit надо будет добавить HAS_TIME_LIMIT

Re: Генератор лицензий (DLL) и DELPHI 2009
Это бага. Поправим в самой ближайшей версии.галочка появляется а само значение НЕТ
Re: Генератор лицензий (DLL) и DELPHI 2009
Спасибо, будем ждать