purebasic.info

PureBasic forum
Текущее время: Ср ноя 21, 2018 9:57 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 167 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11, 12  След.
Автор Сообщение
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Вт ноя 24, 2015 5:57 pm 
Не в сети
профессор

Зарегистрирован: Пн янв 03, 2011 4:27 pm
Сообщений: 412
Благодарил (а): 5 раз.
Поблагодарили: 17 раз.
Пункты репутации: 0
MrF, кинул ссылку в личку.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Вт ноя 24, 2015 6:36 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 441 раз.
SergeyA, это похоже баг ComposeXML. С SaveXML и ExportXML работает нормально.
Пиши на оф. форум, пусть исправляют.

А пока не исправили, можно поступить таким образом.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Enumeration
  #Xml
EndEnumeration  
 
If CreateXML(#Xml, #PB_UTF8)
  *Root = RootXMLNode(#Xml)
  If *Root
    *Node = CreateXMLNode(*Root, "stream:stream")
    If *Node
      SetXMLAttribute(*Node, "to", "jabber.ru")
      SetXMLAttribute(*Node, "xmlns", "jabber:client")
      SetXMLAttribute(*Node, "xmlns:stream", "http://etherx.jabber.org/streams")
      SetXMLAttribute(*Node, "xml:l", "ru")
      SetXMLAttribute(*Node, "version", "1.0")
      Dim Buff.a(ExportXMLSize(#Xml)+4)
      ExportXML(#Xml, @Buff(), ArraySize(Buff()))
      Debug PeekS(@Buff(), -1, #PB_UTF8)
    EndIf
  EndIf
  FreeXML(#Xml)
EndIf


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Вт ноя 24, 2015 8:34 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
@ZOLO@ писал(а):
MrF, кинул ссылку в личку.

Мне ничего не пришло. Или ты не мне кидал? :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Вт ноя 24, 2015 9:10 pm 
Не в сети
студент

Зарегистрирован: Ср сен 02, 2015 9:28 am
Сообщений: 8
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
MrF писал(а):
Файла нет.
Когда размещал ссылку она работала. Вот файл скачанный с нее [тут была ссылка]


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Ср ноя 25, 2015 1:11 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн июл 04, 2011 7:38 am
Сообщений: 749
Откуда: Россия
Благодарил (а): 29 раз.
Поблагодарили: 9 раз.
Пункты репутации: 0
Пётр, спасибо...

_________________
medium.com/@afonichev.dev


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Ср ноя 25, 2015 7:55 pm 
Не в сети
профессор

Зарегистрирован: Вт мар 24, 2009 11:54 am
Сообщений: 357
Благодарил (а): 14 раз.
Поблагодарили: 18 раз.
Пункты репутации: 19
поделитесь 40 или 41 если не жалко


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Чт ноя 26, 2015 6:44 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 694
Благодарил (а): 75 раз.
Поблагодарили: 20 раз.
Пункты репутации: 5
cherri123 писал(а):
поделитесь 40 или 41 если не жалко

я бы согласился на всё, что старше 530


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пт ноя 27, 2015 9:33 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 441 раз.
SergeyA писал(а):
сервер начал присылать правильные данные, это баг или я что - то не понимаю?
Как оказалось это не баг. Если прога компилируется с поддержкой юникода, то строки могут быть только юникодными, а не ASCII или UTF-8.
Если нужна кодировка UTF-8, то необходимо использовать функцию ExportXML.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Сб ноя 28, 2015 1:05 am 
Не в сети
ассистент

Зарегистрирован: Пт май 15, 2015 5:16 am
Сообщений: 23
Благодарил (а): 11 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Я так и не понял. Знающие люди подскажите - в версиях 5.40-5.41 сделали поддержку работы клиента с сервером в режиме запрос-ответ по SSL? Или curl_easy по-прежнему "наше фсё"?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Сб ноя 28, 2015 8:04 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6399
Благодарил (а): 21 раз.
Поблагодарили: 200 раз.
Пункты репутации: 52
cherri123 писал(а):
поделитесь 40 или 41 если не жалко

Есть же информация у кого имеется халявная бетка, полученная с буржуйского форума. Практически бетки, которые идут на устранение багов основной версии, ни чуть не уступают предыдущему релизу. Только не надо тут в открытом виде расспрашивать и постить ссылки. Для этого есть личка, просите по тихому. На rghost уже более 30 раз скачано при том, что поиском эта ссылка не ищется...

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Вт дек 01, 2015 3:37 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн июл 04, 2011 7:38 am
Сообщений: 749
Откуда: Россия
Благодарил (а): 29 раз.
Поблагодарили: 9 раз.
Пункты репутации: 0
В последних версия что - то творится с dll, раньше я спокойно мог подключить dll написанную на PB 4.31 к C# проекту

Код:
1
2
3
4
 
[DllImport("mydll.dll", CharSet = CharSet.Auto)]
public static extern string myfunc(string value);
 



теперь при использовании функции myfunc возникает исключение, при чём это связано с функциями которые возвращают/принимают строки, в некоторых функциях всё нормально отрабатывает, на некоторых функциях падает, например в данный момент у меня падает на получении md5

Код:
1
2
3
4
5
6
7
 
ProcedureDll.s Md5(Value.s)
  If UseMD5Fingerprint()
    ProcedureReturn StringFingerprint(Value, #PB_Cipher_MD5)
  EndIf
EndProcedure
 



возможно я не так работаю с dll или же что - то поменялось в новых версиях языков...

_________________
medium.com/@afonichev.dev


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Вт дек 01, 2015 3:52 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 441 раз.
А так работает?
Код:
1
2
3
4
5
6
7
ProcedureDLL.s Md5(Value.s)
  Static Result.s
  If UseMD5Fingerprint()
    Result = StringFingerprint(Value, #PB_Cipher_MD5)
    ProcedureReturn Result
  EndIf
EndProcedure

Кодировка строк в приложении и DLL одинаковая?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Вт дек 01, 2015 4:14 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн июл 04, 2011 7:38 am
Сообщений: 749
Откуда: Россия
Благодарил (а): 29 раз.
Поблагодарили: 9 раз.
Пункты репутации: 0
Нет, так тоже пробовал, кодировка конечно же одинаковая, пробовал так указывать

Код:
1
[DllImport("mydll.dll", CharSet = CharSet.Unicode)]



результат - исключение, пробовал и CallingConvention, тоже самое, намудрили похоже что - то в пурике, хотя в неуправляемом коде работает

_________________
medium.com/@afonichev.dev


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Вт дек 01, 2015 5:10 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн июл 04, 2011 7:38 am
Сообщений: 749
Откуда: Россия
Благодарил (а): 29 раз.
Поблагодарили: 9 раз.
Пункты репутации: 0
PureBasic

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
ProcedureDLL.l Token()
  Define Result.s, Guid.NEWGUID
  If UseSHA3Fingerprint()
    With Guid
      While (\Offset < 32)
        \Guid + LCase(Chr(Asc(Hex(Random(15)))))
        \Offset + 1
      Wend
      Result = StringFingerprint((\Guid + Date()), #PB_Cipher_SHA3, 256)
    EndWith
  EndIf  
  ProcedureReturn @Result
EndProcedure
 



C#

Код:
1
2
3
4
5
6
7
8
 
[DllImport("E:\\myname.dll", CharSet = CharSet.Auto)]
public static extern IntPtr Token();
 
...
 
Console.WriteLine(Marshal.PtrToStringAuto(Token()));
 



Работает, но вы же понимаете, что это бред.... (В некоторых случаях в ответ от функции дописываются непонятные символы, возможно связано это с тем что маршалинг не правильно считывает строку из памяти), другие dll написанные на других языках, C# с удовольствием кушает, взять например системные, и не давится, тут явно проблема в PureBasic

_________________
medium.com/@afonichev.dev


Последний раз редактировалось SergeyA Вт дек 01, 2015 5:18 pm, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Вт дек 01, 2015 5:17 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 441 раз.
Что именно не так с кодом?
Переменная Result должна быть глобальной или статической, иначе могут быть глюки, т. к. локальная переменная уничтожается при завершении работы процедуры.

SergeyA писал(а):
(В некоторых случаях в ответ от функции дописываются непонятные символы, возможно связано это с тем что маршалинг не правильно считывает строку из памяти)
Это потому что переменная локальная. В момент считывания, память под нее освобождена и может использоваться для других целей.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 167 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11, 12  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB