PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Помогите исправить ошибку.


Помогите исправить ошибку.

Сообщений 1 страница 13 из 13

1

Помогите исправить ошибку код нижу ошибка:

Код:
Structure Internet_Proxy_Info
  dwAccessType.l
  *lpszProxy
  *lpszProxyBypass
EndStructure

#INTERNET_OPTION_PROXY=38
#INTERNET_OPEN_TYPE_PROXY = 3
#INTERNET_OPEN_TYPE_DIRECT = 1

Procedure NewIE_Proxy(Proxy.s, Port, State.c)
ProxyServer.s=Proxy+":"+Str(Port)

If State=1
  Flags=#INTERNET_OPEN_TYPE_PROXY
Else
  Flags=#INTERNET_OPEN_TYPE_DIRECT
EndIf

PIInfo.Internet_Proxy_Info
PIInfo\dwAccessType    = Flags
PIInfo\lpszProxy        = @ProxyServer
PIInfo\lpszProxyBypass    = @""
If UrlMkSetSessionOption_(#INTERNET_OPTION_PROXY, @PIInfo, SizeOf(Internet_Proxy_Info), 0)=#S_OK
  x=1
Else
  x=0
EndIf
ProcedureReturn x
EndProcedure

NewIE_Proxy("119.70.40.101", 8080, 1) ; Прокси рабочий, но очень медленый!
  
If OpenWindow(0, 0, 0, 800, 600, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
    WebGadget(0, 10, 10, 780, 580, "www.2ip.ru") 
    
    Repeat 
       Event=WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow 
EndIf
  
NewIE_Proxy("", 0, 0) ; Отключаем работу с прокси

Ошибка такая "Line 24: UrlMkSetSessionOption_() is not a function (or not available in demo version), macro, array or linked list.".

А также возникает вопрос.
Строка

Код:
NewIE_Proxy("119.70.40.101", 8080, 1) ; Прокси рабочий, но очень медленый!

тут надо свой ip вписывать?

0

2

magicweapons написал(а):

Ошибка такая "Line 24: UrlMkSetSessionOption_() is not a function (or not available in demo version), macro, array or linked list.".

Используется демо версия PureBasic?
Одно из ограничений демо версии состоит в том, что API функции не задекларированы. Это должен делать разработчик софта. В полной версии такого ограничения нет.

Код:
Structure Internet_Proxy_Info
  dwAccessType.l
  *lpszProxy
  *lpszProxyBypass
EndStructure

#INTERNET_OPTION_PROXY=38
#INTERNET_OPEN_TYPE_PROXY = 3
#INTERNET_OPEN_TYPE_DIRECT = 1

Import "Urlmon.lib"
  UrlMkSetSessionOption(Option, *Buff, Size, Reserved)
EndImport

Procedure NewIE_Proxy(Proxy.s, Port, State.c)
ProxyServer.s=Proxy+":"+Str(Port)

If State=1
  Flags=#INTERNET_OPEN_TYPE_PROXY
Else
  Flags=#INTERNET_OPEN_TYPE_DIRECT
EndIf

PIInfo.Internet_Proxy_Info
PIInfo\dwAccessType    = Flags
PIInfo\lpszProxy        = @ProxyServer
PIInfo\lpszProxyBypass    = @""
If UrlMkSetSessionOption(#INTERNET_OPTION_PROXY, @PIInfo, SizeOf(Internet_Proxy_Info), 0)=#S_OK
  x=1
Else
  x=0
EndIf
ProcedureReturn x
EndProcedure

NewIE_Proxy("119.70.40.101", 8080, 1) ; Прокси рабочий, но очень медленый!
  
If OpenWindow(0, 0, 0, 800, 600, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
    WebGadget(0, 10, 10, 780, 580, "www.2ip.ru") 
    
    Repeat 
       Event=WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow 
EndIf
  
NewIE_Proxy("", 0, 0) ; Отключаем работу с прокси
magicweapons написал(а):

тут надо свой ip вписывать?

Нет.
Адрес и порт прокси сервера.

0

3

использеться демо версия  шяс проверим код . если получиться то ты молодец.

0

4

тери такая ошибка "Line 28 : Constant not found : #S_OK".

0

5

magicweapons написал(а):

Constant not found : #S_OK".

Системные константы в демоверсии тоже не прописаны, надо их значение в Интернете искать и явно указывать.
Напиши вначале кода:
#S_OK = 0

или всю строчку перепиши так

Код:
If UrlMkSetSessionOption(#INTERNET_OPTION_PROXY, @PIInfo, SizeOf(Internet_Proxy_Info), 0)=0

а лучше скачай полную версию Пурика, в Интернете полно валяется, и не парься с декларированием API  и констант. :blush:

0

6

вобшем терь всё правильно но терь возникает вопрос сайт 2ip когда открываеться должен там быть вписан ip 119.70.40.101 или мой настояший ? а то у меня как было так и есть.

0

7

и  ешё вопрос в коде #S_OK играет какуюнить роль или нет?

0

8

magicweapons написал(а):

когда открываеться должен там быть вписан ip 119.70.40.101

Ага

magicweapons написал(а):

в коде #S_OK играет какуюнить роль или нет?

В коде, который у тебя нет, не играет.
Но если переписать как то так, то играет:

Код:
If NewIE_Proxy("119.70.40.101", 8080, 1) ; Прокси рабочий, но очень медленый!
  MessageRequester("","Прокси рабочий, но очень медленый!")
Else
  MessageRequester("","Прокси не включился")
EndIf

0

9

в чём может быть пролема программа запускаеться но там мой настояший ip??

0

10

Пётр помоги если можеш мой провайдер MTS RU

0

11

Чем помочь-то?
Попробуй рабочий прокси:

Код:
NewIE_Proxy("66.135.122.11", 80, 1)

На данный момент работает.

0

12

не работает. а как узнать который работает? ручками подбирать?

0

13

ну я ж пишу когда запуская программу старница открываеться там мой ip а не 66.135.122.11

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Помогите исправить ошибку.