Вверх ↑
Этот топик читают: Гость
Администрация
Ответов: 15294
Рейтинг: 1518
#16: 2010-02-17 01:39:12 ЛС | профиль | цитата
пофиксен элемент HTTP_Get, FileStream и добавлен режим StreamToStr в элемент Convertor. Предыдущая схема после обновления будет работать как с файлом так и с потоком.
карма: 26
0
Ответов: 3514
Рейтинг: 184
#17: 2010-02-17 08:45:43 ЛС | профиль | цитата
Мы тебя любим :-*
карма: 0
0
Ответов: 294
Рейтинг: 64
#18: 2010-02-17 19:12:58 ЛС | профиль | цитата
Dilma писал(а):
пофиксен элемент HTTP_Get, FileStream и добавлен режим StreamToStr в элемент Convertor

Астрамак писал(а):
Мы тебя любим :-*

Прям и добавить нечего))

[offtop]С загрузкой файлов - ok
Единственное, при загрузке через HTTP_Get URL, например "http://www.ya.ru/", далее StreamToStr - в ответ тишина. При этом "http://tools.hiasm.com" или микространичка "http://krastemp.ru/m/" отрабатывают нормально. Может из-за размера? Типа буфер только 1024 байта, а если больше - не проходит?
ЗЫ. Но это не принципиально, так как через TCP_client реализуемо.[/offtop]

А вот другой вопрос:
Для работы компонентов необходимо установленное подключение GPRS/EDGE, соответственно приходится вручную активировать перед использованием программы.
Нарыл вот код для соединения с GPRS:

#cpp
//--------------------------
try
{
WebRequest request = WebRequest.Create("http://0.0.0.0");
request.GetResponse();
}
catch
{
}
//--------------------------

Можно ли это как-то с минимальными времязатратами впихнуть в IC, или это не так запросто?

Есть еще код отключения:

//++++++++++++++++++++
private const int SUCCESS = 0;
private const int ERROR_NOT_ENOUGH_MEMORY = 8;
private const int RASBASE = 600;
private const int ERROR_BUFFER_TOO_SMALL = RASBASE + 3;
private const int ERROR_INVALID_SIZE = RASBASE + 32;
private const int RAS_MaxEntryName = 20;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct RASCONN
{
public int dwSize;
public IntPtr hrasconn;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = RAS_MaxEntryName + 1)]
public string szEntryName;
}

[DllImport("coredll.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern uint RasEnumConnections(
[In, Out] RASCONN[] rasconn,
[In, Out] ref int cb,
[Out] out int connections);

[DllImport("coredll.dll")]
private static extern uint RasHangUp(IntPtr pRasConn);

public static RASCONN[] GetAllConnections()
{
RASCONN[] tempConn = new RASCONN[1];
RASCONN[] allConnections = tempConn;

tempConn[0].dwSize = Marshal.SizeOf(typeof(RASCONN));
int lpcb = tempConn[0].dwSize;
int lpcConnections = 0;
uint ret = RasEnumConnections(tempConn, ref lpcb, out lpcConnections);
if (ret == ERROR_INVALID_SIZE)
{
throw new Exception("RAS: RASCONN data structure has invalid format");
}
else if (ret == ERROR_BUFFER_TOO_SMALL && lpcb != 0)
{
allConnections = new RASCONN[lpcb / Marshal.SizeOf(typeof(RASCONN))];
allConnections[0] = tempConn[0];
ret = RasEnumConnections(allConnections, ref lpcb, out lpcConnections);
}

if (ret != SUCCESS)
{
throw new Exception("RAS returns error: " + ret);
}
if (lpcConnections > allConnections.Length)
{
throw new Exception("RAS: error retrieving correct connection count");
}
else if (lpcConnections == 0)
{
allConnections = new RASCONN[0];
}

return allConnections;
}

public static void CloseAllConnections()
{
RASCONN[] connections = GetAllConnections();
for (int i = 0; i < connections.Length; ++i)
{
RasHangUp(connections[i].hrasconn);
}
}
//++++++++++++++++++++

карма: 0

0
Администрация
Ответов: 15294
Рейтинг: 1518
#19: 2010-02-17 19:24:47 ЛС | профиль | цитата
Quest писал(а):
Можно ли это как-то с минимальными времязатратами впихнуть в IC, или это не так запросто?

нельзя. Пакет PockePC построен на базе чистого WinAPI, а приведенный код является частью C# и как следствие без .NET работать не может.
карма: 26
0
19
Сообщение
...
Прикрепленные файлы
(файлы не залиты)