ger_kar писал(а):Я так понимаю, что если приложение скомпилить под Win7, под XP оно работать не будет и наоборот соответственно тоже? Или не работают только приложения скомпилированные под XP и запускаемые под Win7 ?
Filyus писал(а):Я так понимаю, что если приложение скомпилить под Win7, под XP оно работать не будет и наоборот соответственно тоже?
Хакер писал(а):Это же сказки.
Filyus писал(а):Ну попробуй в папку с EXE положить другую версию msvbvm60.dll и попробовать запустить
Хакер писал(а):Ага. Беру самую последнюю версию. Кладу в папку g:\test\. Туда же компилирую новый проект. И он работает.Беру один из старых больших проектов. Кладу в его папку самую последнюю версию msvbvm60. И он тоже работает.
ger_kar писал(а):А, что можно вот так просто положить в папку с экзешником msvbvm60 другой версии и он будет без регистрации в реестре использоваться вместо родного из папки System32?
Хакер писал(а):Что импортирует второй импорт?
Хакер писал(а):Убери расширение.
Хакер писал(а):Потестим. Кстати, тебя не задолбало отключать TLB от проекта, чтобы перекомпилировать первую? Хочу написать Add-in-который позволяет одним кликом отключить и подключить всё на место, как раз для таких случаев.
Хакер писал(а):Проверил: получается один импорт DLL.
Filyus писал(а):Надо использовать хоть одну функцию из TLB, использующую msvbvm60.
Не хватает слова 'Сивой кобылы'Хакер писал(а):Ох ё-моё. Опять этот бред
Это я знаю. Но думал - так как msvbvm60 зарегистрирована в реестре значит она может вызываться не только через таблицу импорта (правда в каких случаях я не знаю). То, что ф-ции вызываются по механизму импорта функций через таблицу импорта знаю ибо исследовал этот момент в Ольке. Но мало ли еще всяких нюансов, поэтому лучше спросить.Хакер писал(а):Регистрация — это когда ActiveX-сервер пишет в реестре, какие coclass-ы он (реализованная в нём IClassFactory) умеет создавать, чтобы потом COM смогла, когда ей передадут CLSID и попросят создать объект-экземпляр этого класса, найти соответствующий данному классу ActiveX-сервер, и запросить у него создание объекта.
ger_kar писал(а):Но думал - так как msvbvm60 зарегистрирована в реестре значит она может вызываться не только через таблицу импорта (правда в каких случаях я не знаю).
Хакер писал(а):Filyus писал(а):Надо использовать хоть одну функцию из TLB, использующую msvbvm60.
Конечно, я в курсе, поэтому так и сделал. Повторяю: получается один импорт.
Хакер писал(а):Интересно, тут был пост «выкладываю то, что обещал». Потом пост исчез, а обещание было вырезано из первого поста.
Передумал что-ли?
Private WithEvents HTML As HTMLParser
HTML.Parse "Код HTML целиком", True, True
HTML.Parse "Код HTML, первый фрагмент", True, False
HTML.Parse "Код HTML, средний фрагмент", False, False
'...
HTML.Parse "Код HTML, средний фрагмент", False, False
HTML.Parse "Код HTML, последний фрагмент", False, True
HTML.BeforeParsing
HTML.Parse "Код HTML, фрагмент", False, False
'...
HTML.Parse "Код HTML, фрагмент", False, False
HTML.Parse vbNullString, False, True
Private Sub HTML_FoundTag(Tag As HTMLTag, IsStartTag As Boolean, IsEndTag As Boolean)
Antonariy писал(а):Какой-то странный html-парсер, который что-то делает, но не выдает результата…
If Tag.name = "A" And IsEndTag Then
s = Tag.InnerText
If Len(s) <> 0 Then
Debug.Print s & " " & Tag.Attr("href")
End If
End If
Dim WithEvents hp As HTMLParser
Private Sub Form_Load()
Dim t() As TagsType
Dim tm
sHTML = ReadFile("1.htm")
Set hp = New HTMLParser
tm = Timer
For x = 1 To 10
hp.Parse sHTML, True, True
Next
Debug.Print Timer - tm
tm = Timer
For x = 1 To 10
ParseHTML CStr(sHTML), t
Next
Debug.Print Timer - tm
End Sub
Private Sub hp_FoundTag(Tag As HTMLTag, IsStartTag As Boolean, IsEndTag As Boolean)
x = 0
End Sub
1,015625
8,75
Antonariy писал(а):Разобрался.
Работает быстрее этого почти в 9 раз.
Сейчас этот форум просматривают: AhrefsBot и гости: 26