Visual Basic 6.0 - Авторизация на прокси
Авторизация на прокси
Respect, All!
Может, кто-нибудь из многоуважаемых читателей конференции сталкивался с сабжем и решил эту проблему средствами VB? Если да, сообщите как...
Очень надо....
Заранее спасибо!
Let it be... All.
* Origin: If you wanna be, be a little bee...(c) (2:5033/39.7)
Re: Byte Array(Variant) and API (Part 2)
From: Alexander Asyabrik <belmis [@] mail.belpak.by>
Привет, A.Skrobov.
Вы, было дело, писали 13 октября 2003 г., 5:43:18:
AS> В этом случае третий DWORD варианта указывает не на SAFEARRAY, а
AS> как раз на первый байт массива.
Дык пробовал я. Hепохоже на правду: "...недопустимая операция".
AS> Как различать эти два случая, сам догадаешься, или подсказать?
Когда передается массив в варианте, то маска поля vt определяется как
vt_ui1 or vt_array
а если "чистый" байтовый массив то
vt_ui1 or vt_byref or vt_array
тоесть разница в установке бита vt_byref
И що цэ мэни дало?:) Где данные-то искать?
PS Я тут тупо справку по OLE просмотрел. Может мне вот это нужно?
The VariantChangeType function handles coercions between the
fundamental types (including numeric-to-string and string-to-numeric
coercions). A variant that has VT_BYREF set is coerced to a value by
fetching the referenced value.
Или я уж совсем не туды?
--
Alexander
* Origin: Talk.Mail.Ru (2:5020/400)
Re: Byte Array(Variant) and API (Part 2)
From: Alexander Asyabrik <belmis [@] mail.belpak.by>
Привет, Master.
Вы, было дело, писали 13 октября 2003 г., 7:22:23:
DK> Hе понимаю, ты ведь скриптовый компонент пишешь? А разве там есть Byte?
DK> Или, если это компонент для программ на чистом VB, то тогда почему не
DK> получается принять аргумент как () As Byte?
Я пишу, в этом смысле, _универсальную_ ActiveX DLL. И в соответствии с
идеями COM технологии, должна быть возможность использовать ее в любой
среде, эту технологию поддерживающую. Вот и пытаюсь соответствовать.
DK> В общем, пример кода надо бы.
А ты его просто запустить не сможешь полноценно. Он работает не с
win32api, а со специфическим апи одной утилиты. Hо это типа _lWrite
Если только для визуального изучения (все детали опущены):
' В модуле класса, естественно
Private Declare Function WHX_WritePtr Lib "whxapi.dll" Alias _
"WHX_Write" (ByVal lpBuffer As Long, ByVal Bytes As Long) As Long
Public Sub WriteBytes(bBuffer As Variant)
Dim res&, Lindex&, Uindex&, Size&
Dim VarArrPtr&
Size = (Uindex - Lindex) + 1
VarArrPtr = GetVariantArrayPtr(bBuffer)
res = WHX_WritePtr(VarArrPtr, Size)
If res = 0 Then GenerateError ERR_Write
End Sub
Проще некуда. И с массивом в варианте работает. Hо если в качестве
аргумента будет передан байтовый массив, то VarArrPtr равен нулю и ...
ласты, короче.
--
Alexander
* Origin: Talk.Mail.Ru (2:5020/400)
Вопрос
From: "Mihail Borisov" <skull [@] amur.ru>
Hi All,
Как создать новую директорию в той же папке где установлена программа?
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Re: Byte Array(Variant) and API (Part 2)
From: "A. Skrobov" <tyomitch [@] r66.ru>
Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Mon, 13 Oct 2003
13:53:31 +0000 (UTC):
AS>> В этом случае третий DWORD варианта указывает не на SAFEARRAY, а
AS>> как раз на первый байт массива.
AA> Дык пробовал я. Hепохоже на правду: "...недопустимая операция".
А мне удавалось, как раз сегодня утром. Хорошо проверял?
AA> Когда передается массив в варианте, то маска поля vt определяется как
AA> vt_ui1 or vt_array
AA> а если "чистый" байтовый массив то
AA> vt_ui1 or vt_byref or vt_array
AA> тоесть разница в установке бита vt_byref
То же значение можно получить ф-ей VarType.
AA> И що цэ мэни дало?:) Где данные-то искать?
А ты просто посмотри на все поля варианта, авось в каком-то нужный адрес лежит.
AA> PS Я тут тупо справку по OLE просмотрел. Может мне вот это нужно?
AA> The VariantChangeType function handles coercions between the
AA> fundamental types (including numeric-to-string and string-to-numeric
AA> coercions). A variant that has VT_BYREF set is coerced to a value by
AA> fetching the referenced value.
AA> Или я уж совсем не туды?
Я ожидаю, что можно сделать и 'обычно', без АПИ. Где-то данные ведь должны лежать.
With best regards, A. Skrobov. E-mail: tyomitch [@] r66.ru
--
* Origin: Talk.Mail.Ru (2:5020/400)
Авторизация на прокси
||*()*|| Ах это вы, Pavel ? А я вас не узнал без санитара...
13 окт 03 года ты писал(а) к All:
PB> Может, кто-нибудь из многоуважаемых читателей конференции сталкивался
PB> с сабжем и решил эту проблему средствами VB? Если да, сообщите как...
PB> Очень надо....
Можешь воспользоваться готовыми библиотеками EasyMail.
(https://www.quiksoft.com)
Там есть такие опции для протокола IMAP4
I'll be back, Pavel !
http://www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.
* Origin: Hе мошенничайте! Государство не любит конкурентов (2:4641/500.99)
Firebird
||*()*|| Ах это вы, Ivan ? А я вас не узнал без санитара...
06 окт 03 года ты писал(а) к A:
[...skipped...]
AB>>> Кто-нибудь работал с сабжем из VB.
AS>> Я, я, я работал!
IK> А чего там стpашного? Вpоде же ODBC дpайвеpов на него -- как собак
IK> неpезанных.
Ах, разочаровался я и в Firebird. С ним тоже дистрибутив безобразно распухает.
I'll be back, Ivan !
http://www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.
* Origin: Hе мошенничайте! Государство не любит конкурентов (2:4641/500.99)
MsChart тормозит
||*()*|| Ах это вы, Oleg ? А я вас не узнал без санитара...
08 окт 03 года ты писал(а) к All:
OC> САБЖ! Сильно. Вывод на 3 панели 10-ти спектров по 1000 точек в каждом.
OC> Как ускорить? Или может есть что-то похожее, но не такое тормозное? Я
OC> раньше делал ручной вывод Pset-ом - таких тормозов не было, но в
OC> ручную долго и плохо масштабируется. :(
Hачиная, кажется, с третьей версии дельфей в комплекте с ней идет файлик cfx32.ocx. Лучшей библиотеки для построения графиков еще не видел. И из VB полностью работоспособно. Я в свое время за час разобрался что там к чему. Только вместе с нею в WINDOWS\SYSTEM должет еще лежать файл cfx32.lic.
I'll be back, Oleg !
http://www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.
* Origin: Hе мошенничайте! Государство не любит конкурентов (2:4641/500.99)
Re: Вопрос
Мы где-то виделись, Mihail?
13 Oct 03 19:11:09 в RU.VISUAL.BASIC Mihail Borisov -> All:
MB> Как создать новую директорию в той же папке где установлена программа?
MkDir
App.Path
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Re: Byte Array(Variant) and API (Part 2)
Мы где-то виделись, Alexander?
13 Oct 03 17:53:32 в RU.VISUAL.BASIC Alexander Asyabrik -> мне:
AA> Public Sub WriteBytes(bBuffer As Variant)
В общем, я разобрался.
Череда указателей: OleVariant -> DWORD -> SAFEARRAY -> массив.
Sub a(v)
Dim ov As OLEVARIANT
Dim sa As SAFEARRAY
Dim l As Long
Dim b As Byte
CopyMemory ov, v, Len(ov)
CopyMemory l, ByVal ov.dwData, 4
CopyMemory sa, ByVal l, Len(sa)
CopyMemory b, ByVal sa.pvData, 1
MsgBox b
End Sub
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)