Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Создание справочника Windows API

Страница: 1 |

 

  Вопрос: Печать через ИК-порт с КПК Добавлено: 03.11.06 12:13  

Автор вопроса:  Влад
Знающие люди!!! Помогите найти ошибку, уже третью неделю бьюсь :-<
Задача в следующем: Необходимо отправлять текст на печать с КПК (Windows Mobile 5.0) через ИК-порт на матричный принтер Epson LX300+.
Никак не получается рабочий вариант...
Код выглядит следующим образом:

Public Structure SECURITY_ATTRIBUTES
   Public nLength As Long
   Public lpSecurityDescriptor As Long
   Public bInheritHandle As Long
End Structure

Public Const GENERIC_READ = &H80000000
Public Const GENERIC_WRITE = &H40000000
Public Const FILE_SHARE_READ = &H1
Public Const FILE_SHARE_WRITE = &H2
Public Const CREATE_NEW = 1
Public Const CREATE_ALWAYS = 2
Public Const OPEN_EXISTING = 3
Public Const OPEN_ALWAYS = 4
Public Const TRUNCATE_EXISTING = 5
Public Const FILE_ATTRIBUTE_ARCHIVE = &H20
Public Const FILE_ATTRIBUTE_HIDDEN = &H2
Public Const FILE_ATTRIBUTE_NORMAL = &H80
Public Const FILE_ATTRIBUTE_READONLY = &H1
Public Const FILE_ATTRIBUTE_SYSTEM = &H4
Public Const FILE_FLAG_DELETE_ON_CLOSE = &H4000000
Public Const FILE_FLAG_NO_BUFFERING = &H20000000
Public Const FILE_FLAG_OVERLAPPED = &H40000000
Public Const FILE_FLAG_POSIX_SEMANTICS = &H1000000
Public Const FILE_FLAG_RANDOM_ACCESS = &H10000000
Public Const FILE_FLAG_SEQUENTIAL_SCAN = &H8000000
Public Const FILE_FLAG_WRITE_THROUGH = &H80000000

Declare Function CreateFile Lib "Coredll.dll" Alias "CreateFileA" (ByVal lpFileName As String, _
        ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, _
        ByVal lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, _
        ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

Private Sub ButPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButPrint.Click
  Dim hFile As Long
  Dim SA As SECURITY_ATTRIBUTES

  hFile = CreateFile("COM3:", GENERIC_WRITE, FILE_SHARE_WRITE, SA, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)
  If hFile = -1 Then
     MsgBox("Ошибка.")
  End If

  ...

End Sub

При нажатии на кнопку Печать выполнение программы останавливается на строчке
hFile = CreateFile(...
и выдаёт сообщение
An unhandled exception of type 'Systen.NotSupportedException' occurred in Test.exe
пробовал так же вариант

Declare Function CreateFile Lib "Coredll.dll" Alias "CreateFileA" (ByVal lpFileName As String, _
        ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, _
        ByVal lpSecurityAttributes As Object, ByVal dwCreationDisposition As Long, _
        ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long


hFile = CreateFile("COM3:", GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)

результат тот же...
Думаю ошибка в описании функции или её параметрах при вызове.
Подскажите, что не так. Буду благодарен за любые комментарии.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #1 Добавлено: 03.11.06 13:57
Попробуй в описании функции заменить все Long на Integer

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 04.11.06 21:34
Описание функции выглядит так:
Private Declare Function CreateFile Lib "Coredll.dll" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByRef lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

Ответить

Номер ответа: 3
Автор ответа:
 Влад



Вопросов: 1
Ответов: 1
 Профиль | | #3 Добавлено: 07.11.06 09:28
Теперь описание выглядит следующим образом:
Public Declare Function CreateFile Lib "Coredll.dll" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Integer, ByVal dwShareMode As Integer, ByVal lpSecurityAttributes As Integer, ByVal dwCreationDisposition As Integer, ByVal dwFlagsAndAttributes As Integer, ByVal hTemplateFile As Integer) As Integer

и её вызов:
hFile = CreateFile("COM3:", GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)

при этом выводиться новая ошибка:
A managed MissingMethodException occurred at Application

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 07.11.06 11:58
2 Sacred Phoenix... Обоснуй свой первый пост, к чему там Integer вообще?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам