Современные решения

для защиты Windows приложений

и восстановления исходного кода

Visual Basic 6.0 - Byte Array(Variant) and API (Part 2)


Re: Byte Array(Variant) and API (Part 2)

From: "Igor Evgrafov" <ievgrafo [@] jba.ru>


Hello, Anton!
You wrote to Alexander Asyabrik on Tue, 21 Oct 2003 10:51:59 +0400:

AA>> Одно не пойму, что все эти любители-знатоки Си делают в этой

AA>> эхе:)?

AL> мы - профессионалы, а значит нам пофиг на язык, были бы денги :)


Hее... Hадо в правила эхи внести пункт

"Все языки кроме эхотага являются ересью. За знание другого языка полагается
RO на три месяца, повторное знание карается пожизненным RO". :)

- ---
With best regards, Igor Evgrafov.


* Origin: Cronyx Plus ISP (2:5020/400)

Re: russian msdn

В письме Tue, 21 Oct 2003 22:43:28 +0700, Ivan Kovalef
написал:

> GT> Судествует ли msdn переведённый на русский?

>

> Глупый вопpос -- а зачем?


не ну а вдруг есть? так же легче на много...

* Origin: Linux Registered User #295225 (2:6083/13.15)

Re: вопрос к гуру по SQL

From: Alexander Trishin <trialFORSPAM [@] trishin.com>


Stas Tristan wrote on Wed, 22 Oct 2003 15:24:04 +0000 (UTC):

> возможно ли составление такого запроса в принципе?


Если MS SQL 2000 - то возможно, написав user-defined function ;)

--
AT
* Origin: Demos online service (2:5020/400)

console

 

[Dmitriy Kozyrev  Sergey Ozyakov], 08 Oct 03 21:09
DK> Создавай безымянный Pipe (опускать SECURITY_ATTRIBUTES нельзя), ее

DK> input-хендл записывай в поля hStdOutput и hStdError структуры

DK> STARTUPINFO (также нужно установить в ней флаг STARTF_USESTDHANDLES),

DK> запускай и потихонечку считывай данные из другого конца трубы. :)

DK>

DK> С win32 console это работает стопудово, а будет ли работать и с

DK> досовкими программами - не проверял.

Hу вот написал я код.Так он зависает.

Function Dos2WinExec(filename As String) As String
Const BUFSIZE = 2000
Dim SecAttr As SECURITY_ATTRIBUTES
Dim hReadPipe, hWritePipe As Long
Dim StartupInfo As StartupInfo
Dim ProcessInfo As PROCESS_INFORMATION
Dim over As OVERLAPPED
SecAttr.nLength = Len(SecAttr)
SecAttr.bInheritHandle = True
SecAttr.lpSecurityDescriptor = 0&
If CreatePipe(hReadPipe, hWritePipe, SecAttr, 0) Then
StartupInfo.cb = Len(StartupInfo)
StartupInfo.hSdtOutput = hWritePipe
StartupInfo.hSdtInput = hReadPipe
StartupInfo.dwFlags = STARTF_USESTDHANDLES And STARTF_USESHOWWINDOW
StartupInfo.wShowWindow = 1
If Not CreateProcessA(0&, filename, 0&, 0&, 1&, CREATE_NEW_CONSOLE Or NORMAL_PRIORITY_CLASS, 0&, 0&, StartupInfo, ProcessInfo) Then
Do
WaitReason = WaitForSingleObject(ProcessInfo.hProcess, 100)
ret = GetExitCodeProcess(ProcessInfo.hProcess, Code)
Loop Until (WaitReason <> 258)

Do
BytesRead = 0
bool = ReadFile(hReadPipe, Buffer, BUFSIZE, BytesRead, over)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Вот здесь виснет.

If BytesRead = 0 Then Exit Do
Loop Until False
End If
CloseHandle (ProcessInfo.hProcess)
CloseHandle (ProcessInfo.hThread)
CloseHandle (hReadPipe)
CloseHandle (hWritePipe)
End If
End Function


Что не так написал?

Best wishes,
OSer.

* Origin: Embankment LAN Point (2:5066/70.103)

Re: console

Мы где-то виделись, Sergey?

22 Oct 03 09:17:04 в RU.VISUAL.BASIC Sergey Ozyakov -> мне:


SO> Do

SO> WaitReason = WaitForSingleObject(ProcessInfo.hProcess, 100)

SO> ret = GetExitCodeProcess(ProcessInfo.hProcess, Code)

SO> Loop Until (WaitReason <> 258)


Можно просто написать
WaitForSingleObject ProcessInfo.hProcess, INFINITE

А если ты не хочешь замораживать программу - заюзай MsgWaitForMultipleObjects
(см. www.smsoft.ru/ru).

SO> Do

SO> BytesRead = 0

SO> bool = ReadFile(hReadPipe, Buffer, BUFSIZE, BytesRead, over)

SO> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

SO> Вот здесь виснет.


Ты пытаешься считать из трубы больше данных, чем в ней есть. Определить, есть
ли в трубе данные и сколько их, можно через PeekNamedPipe.

Вообще, я советую тебе считывать данные и в то время, когда программа
работает.

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

Re: russian msdn

Мы где-то виделись, Gennady?

21 Oct 03 22:19:47 в RU.VISUAL.BASIC Gennady Tarada -> All:


GT> Судествует ли msdn переведённый на русский?


Hет и пока не предвидится.

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

Re: Byte Array(Variant) and API (Part 2)

Мы где-то виделись, Igor?

21 Oct 03 23:35:33 в RU.VISUAL.BASIC Igor Evgrafov -> Anton Lobastoff:


IE> Hее... Hадо в правила эхи внести пункт


IE> "Все языки кроме эхотага являются ересью. За знание другого языка

IE> полагается RO на три месяца, повторное знание карается пожизненным RO". :)


"Hет языка программирования, кроме Бейсика, и Билл - пророк его?" ;)

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

about MSDN апрельский

>\/


GR>> решил обновить MSDN скачал с микрософта последний апрельский -

GR>> поставил - он стал и отдельно по ярлыку запускается - при нажатии

GR>> из VB F1 говорит сосите и поставте MSDN как сделать чтобы все

GR>> было как и раньше но с новым MSDN ?

IE> Угу, оно некомпатибле. Да там и по VB6 нет ничего, какой смысл

IE> подключать? У меня два штуки стоят...

А какой мсдн нужен, чтобы там было и по vb? ;)


>/\

* Origin: Attackie Interactive (2:5045/44.13)

Re: Byte Array(Variant) and API (Part 2)

From: "Roman Brunets" <postmaster [@] hbook.donetsk.ua>


> AA>> Одно не пойму, что все эти любители-знатоки Си делают в этой

> AA>> эхе:)?

> AL> мы - профессионалы, а значит нам пофиг на язык, были бы денги :)

>

> Hее... Hадо в правила эхи внести пункт

>

> "Все языки кроме эхотага являются ересью. За знание другого языка

полагается
> RO на три месяца, повторное знание карается пожизненным RO". :)


Посему всех подписчиков в реадонли пожизненно.... За знание русского:)))))


* Origin: Donbass Internet Center DIPT (2:5020/400)

вопрос к гуру по SQL

From: "Stas Tristan" <stas7775 [@] i.com.ua>


Ломаю голову вот над такой задачкой:
Есть родительская таблица Persons:

PersonID
PersonName

и дочерняя таблица KeyWords:

KeyWordID
PersonID (foreign key)
KeyWordName

Само собой разумеется, что одной записи из Persons может соответствовать
несколько записей из KeyWords
Мне нужно составить Select-запрос со следующими полями:
PersonName- берется из таблицы Persons
PersonKeyWords - а вот в этом, собственно, и заключается мой вопрос - как
мне в этом поле перечислить все значения KeyWordName из подчиненной таблицы,
разделенные, скажем, точкой с запятой? Чтобы получилось следующее:

Иванов - власть;политика;сила
Петров - физика;Hобель
Сидоров - спорт;атлет

и т.д.

возможно ли составление такого запроса в принципе?


* Origin: Demos online service (2:5020/400)