Показать сообщение отдельно
Старый 17.02.2007, 19:07   #1 (permalink)
elek
Новичок
 
Регистрация: 17.02.2007
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Знающие люди!!! Помогите найти ошибку, уже третью неделю бьюсь
Задача в следующем: Необходимо отправлять текст на печать с КПК (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)
результат тот же...
Думаю ошибка в описании функции или её параметрах при вызове.
Подскажите, что не так. Буду благодарен за любые комментарии.
elek вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070