Вверх ↑
Этот топик читают: Гость
Ответов: 1731
Рейтинг: 68
#16: 2012-03-25 17:14:32 ЛС | профиль | цитата
Не могу проверить, но это должно работать:
Set W = CreateObject("...")
If W Is Nothing Then
Действие если обьект не создан
Else
Действие если обьект создан
End If
карма: 1

0
Ответов: 3889
Рейтинг: 362
#17: 2012-03-25 17:26:03 ЛС | профиль | цитата
3042, кстати, Ваш Is NOTHING тоже может сработать без ошибок, по идее, если объявить в начале скрипта переменную под объект через Dim. Ещё можно попробовать ловить ошибки On Error. [offtop]Сейчас не могу проверить всего, что насоветовал.[/offtop]
карма: 1

0
Ответов: 1925
Рейтинг: 172
#18: 2012-03-25 17:35:20 ЛС | профиль | цитата
Cosinus, я так и делал, но если объект не создался (я специально убирал процедуру создания для проверки), то вылетала ошибка.

1nd1g0 писал(а):
если объявить в начале скрипта переменную под объект через Dim

Она была объявлена.

1nd1g0 писал(а):
Ещё можно попробовать ловить ошибки On Error.

А как задать такую конструкцию?
карма: 9
0
Гость
Ответов: 17029
Рейтинг: 0
#19: 2012-03-25 17:45:13 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2021-06-24 09:01:24
карма: 0

0
Ответов: 3889
Рейтинг: 362
#20: 2012-03-25 17:47:20 ЛС | профиль | цитата
Это был я ^
карма: 1

1
Голосовали:3042
Ответов: 1925
Рейтинг: 172
#21: 2012-03-26 16:23:22 ЛС | профиль | цитата
1nd1g0, ещё вопросик:

3042 писал(а):
как уменьшить счётчик использования com-объекта?
Я пробовал "System.Runtime.InteropServices.Marshal.ReleaseComObject(Obj)", но выдаёт сообщение, что "требуется объект system".

карма: 9
0
Ответов: 43
Рейтинг: -2
#22: 2018-05-20 14:10:31 ЛС | профиль | цитата
Доброго времени всем!
Древний баг с кириллицей в FPC можно поправить если в share.pas сделать правку
function StringToWideString(const s: String): WideString;
var
len: integer;
const
codePage = 3
begin
Result := '';
if s = '' then exit;
len := MultiByteToWideChar(codePage, MB_PRECOMPOSED, PChar(@s[1]), -1, nil, 0);
SetLength(Result, len - 1);
if len <= 1 then exit;
MultiByteToWideChar(CodePage, MB_PRECOMPOSED, PChar(@s[1]), -1, PWideChar(@Result[1]), len);
end;

function StringToOleStr(const value:string):PWideChar;
begin
Result := PWideChar(StringToWideString(value));
end;

в hiVBJScript.pas в SetScript при {$ifdef F_P} сам текст скрипта преобразовать этой функцией
после всего чудесным образом кириллица нормально работает

Редактировалось 2 раз(а), последний 2018-05-20 14:12:08
карма: -2

0
22
Сообщение
...
Прикрепленные файлы
(файлы не залиты)