Это я читал:
MSDN писал(а):
However, you can query a BSTR for its length rather than scan it, so it can contain embedded null characters. The length is stored as a 32-bit integer at the memory location preceding the data in the string. Instead of reading this location directly, applications should use the string manipulation functions to access the length of a BSTRА вот про вышеуказанный "счетчик" - нет.
Тем и интересен (как мне показалось) факт, что он не есть принадлежность какого-то языка, а именно API
Что я раскопал в Дельфях то ли, что надо - так я не через пол-часа, как начал копать, сообщаю.
То.
У меня дурная привычка не верить, прежде всего - себе...
------------ Дoбавленo:
tsdima писал(а):
Отсюда вывод: нельзя менять строку, выделенную при помощи SysAllocString Опять, это особо тонкое понимание слова "менять"
В дельфячем System.pas всякие _WStr{Cat|Cat3|CatN|Insert|Delete} создают новую через SysAllocStringLen, пишут в нее чего попало, а потом делают WStrSet(destWStr, tmpWStr):
#pas
procedure WStrSet(var S: WideString; P: PWideChar);
asm
XCHG [EAX],EDX
TEST EDX,EDX
JZ @@1
PUSH EDX
CALL SysFreeString
@@1:
end;
------------ Дoбавленo:
Alexbootch писал(а):
stalkersts, скинь файл ...HiAsmElementsDelphiExampleDateBasePHONE.DBF на диск C и попробуй вот эту схему:
code_2162.txt
Народ
А как вы вообще с этими базами работаете, причем уже давно ведь
Добавил к примеру коллеги одну кнопочку <Отключить> для OLEdb.doClose - и все сразу же стало "падать"
На FPC - так по первому же нажатию, на Дельфи - после третьего...
Ну здесь-то ладно - починил ((если в я чего решил, то выпью обязательно))...
Неужто и с другими базами точно также...