Взаимодействующая с COM последовательность загрузки блока

Я использовал PATINDEX для сопоставления с первым и последним числом во входной строке, а затем использовал SUBSTRING для извлечения числовой части

DECLARE @input VARCHAR(100);
DECLARE @temp VARCHAR(100);
DECLARE @first int;
DECLARE @last int;

SET @input ='حساب-س1-96658-305-651ساير سپرده ها'
SET @first = PATINDEX( '%[0-9]%',@input);
SET @last = PATINDEX('%[0-9]%', REVERSE(@input));

SET @temp = SUBSTRING(@input, @first, LEN(@input));
SELECT SUBSTRING(@temp, 1, @last + 2)

Это выводит 1-96658-305-651 в моем клиенте, так что вы Возможно, придется сделать REVERSE для результата, так как я немного запутался в том, как мой клиент обрабатывает арабские символы. Хотелось бы надеяться, что это поможет вам достаточно близко выяснить последние детали.

6
задан Sunny Milenov 29 January 2009 в 15:19
поделиться

1 ответ

Я думаю, что нашел решение Вашей проблемы в краткой информации Primary Interop Assemblies Microsoft. PIAs обрабатываются по-другому в Visual Studio:

Когда пользователь пытается добавить ссылку на библиотеку типов, которая имеет зарегистрированный PIA, Visual Studio будет тихо использовать зарегистрированный PIA вместо того, чтобы повторно импортировать библиотеку типов с Tlbimp. Это гарантирует, что PIA используется, когда это возможно.

Это означает, что, когда Вы добавляете ссылку на свой собственный IA к проекту, Visual Studio проверит, существует ли PIA, зарегистрированный для этого COM-объекта. PIAs Outlook регистрируются под следующим ключом:

HKEY_CLASSES_ROOT\CLSID\{0006F023-0000-0000-C000-000000000046}\InprocServer32\12.0.0.0
    Assembly="Microsoft.Office.Interop.Outlook, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"

Из того, что я понимаю нерегистрацию PIA, использование regasm инструмента должно удалить ключ и передобавление, что ссылка на Ваш собственный IA должна дать ожидаемый результат.

Однако Microsoft не рекомендует использовать пользовательские МСФО, если существует доступное PIA. Я не понимаю точной причины этого, но я предполагаю, что это могло бы быть связано с маршалингом оптимизации и наличием уникальных определений типа.

6
ответ дан 17 December 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: