/trunk/UserDetect2/UD2_Main.pas |
---|
184,7 → 184,12 |
iconIndex: integer; |
obj: TUD2ListViewEntry; |
begin |
for i := 0 to TasksListView.Items.Count-1 do |
begin |
TUD2ListViewEntry(TasksListView.Items.Item[i].Data).Free; |
end; |
TasksListView.Clear; |
sl := TStringList.Create; |
try |
ud2.GetTaskListing(sl); |
248,11 → 253,13 |
var |
i: integer; |
begin |
if Assigned(ud2) then ud2.Free; |
if Assigned(ud2) then FreeAndNil(ud2); |
for i := 0 to TasksListView.Items.Count-1 do |
begin |
TUD2ListViewEntry(TasksListView.Items.Item[i].Data).Free; |
end; |
TasksListView.Clear; |
end; |
procedure TUD2MainForm.CheckForErrors; |
622,6 → 629,7 |
i: integer; |
p: TUD2Plugin; |
begin |
DynamicTestPluginComboBox.Clear; |
for i := 0 to ud2.LoadedPlugins.Count-1 do |
begin |
p := ud2.LoadedPlugins.Items[i] as TUD2Plugin; |
/trunk/UserDetect2/UD2_PluginIntf.pas |
---|
40,9 → 40,9 |
TFuncIdentificationStringW = function(lpIdentifier: LPWSTR; cchSize: DWORD): UD2_STATUS; cdecl; |
TFuncDescribeOwnStatusCodeW = function(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl; |
// Extension of the plugin API starting with version 3. |
// Extension of the plugin API starting with version v2.2. |
// We don't assign a new PluginIdentifier GUID since the methods of the old API |
// are still valid, so an UserDetect2 2.x plugin can be still used with UserDetect2 3.x. |
// are still valid, so an UserDetect2 v2.0/v2.1 plugin can be still used with UserDetect2 v2.2. |
// Therefore, this function *MUST* be optional and therefore it may only be imported dynamically. |
TFuncDynamicIdentificationStringW = function(lpIdentifier: LPWSTR; cchSize: DWORD; lpDynamicData: LPWSTR): UD2_STATUS; cdecl; |
/trunk/UserDetect2/ud2_api.h |
---|
24,6 → 24,14 |
UD2_API UD2_STATUS IdentificationStringW(LPWSTR lpIdentifier, DWORD cchSize); |
UD2_API BOOL DescribeOwnStatusCodeW(LPWSTR lpErrorDescription, DWORD cchSize, UD2_STATUS statusCode, LANGID wLangID); |
#ifdef UD2_DYNAMIC_PLUGIN |
// Extension of the plugin API starting with version v2.2. |
// We don't assign a new PluginIdentifier GUID since the methods of the old API |
// are still valid, so an UserDetect2 v2.0/v2.1 plugin can be still used with UserDetect2 v2.2. |
// Therefore, this function *MUST* be optional and therefore it may only be imported dynamically. |
UD2_API UD2_STATUS DynamicIdentificationStringW(LPWSTR lpIdentifier, DWORD cchSize, LPWSTR lpDynamicData); |
#endif |
const GUID GUID_USERDETECT2_IDPLUGIN_V1 = __GUID("{6C26245E-F79A-416C-8C73-BEA3EC18BB6E}"); |
#ifdef BUILDING_DLL |
UD2_API GUID PluginInterfaceID() { |