Problème d'impression dans une imprimante réseau en C#

chafaqis Messages postés 31 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 29 novembre 2004 - 4 janv. 2005 à 19:02
cs_Emma82 Messages postés 1 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 15 juin 2006 - 15 juin 2006 à 10:34
salut tt le monde
j'ai une imprimante à ticket je veux la connectée à un poste réseau après je veux accéder à cette imprimante par n'importe quel poste à travers une application winforms.
j'ai utilisée la classe SerialStream de LoMan.IO si j'imprime dans un poste où il y a l'imprimante ca marche sinon il m'affiche un message "Unable to initialize read.Error code: 1" je ne sais pas pourquoi. J'accède à l'imprimante par l'adresse ip du poste où elle est connectée\nom du partage de l'imprimante le port de l'imprimante s'ouvre et dès que je commance a envoyée le texte à imprimer il m'envoie le message d'erreur cité au dessus. J'utilise une application en C# en WinForms. quelqu'un a une idée ?
Merci

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
4 janv. 2005 à 19:50
D'après le nom de la classe il s'agit sans doute de communication série, donc il est normal que ça ne fonctionne que quand l'imprimante est connectée en local.
Vérifie si le constrcuteur de l'imprimante fournit des pilotes win, et dans ce cas tu devrais pouvoir la partager sur le réseaux et imprimer avec comme avec "n'importe" quelle autre imprimante.

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
chafaqis Messages postés 31 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 29 novembre 2004
6 janv. 2005 à 10:41
salut tt le monde
est ce que vous avez une idée sur l'acces d'une imprimante réseau en C# .
j'ai importée ces DLLs

[DllImport("kernel32.dll", EntryPoint="CreateFileW", SetLastError=
true,


CharSet=CharSet.Unicode, ExactSpelling=
true)]



static
extern IntPtr CreateFile(
string filename,
uint access,
uint sharemode,
uint security_attributes,
uint creation,
uint flags,
uint template);


[DllImport("kernel32.dll", SetLastError=
true)]



static
extern
bool CloseHandle(IntPtr handle);


[DllImport("kernel32.dll", SetLastError=
true)]



static
extern
unsafe
bool ReadFile(IntPtr hFile,
byte* lpBuffer,
int nNumberOfBytesToRead,
out
int lpNumberOfBytesRead, NativeOverlapped* lpOverlapped);


[DllImport("kernel32.dll", SetLastError=
true)]



static
extern
unsafe
bool WriteFile(IntPtr hFile,
byte* lpBuffer,
int nNumberOfBytesToWrite,
out
int lpNumberOfBytesWritten, NativeOverlapped* lpOverlapped);


[DllImport("kernel32.dll", SetLastError=
true)]



static
extern
bool SetCommTimeouts(IntPtr hFile,
ref SerialTimeouts lpCommTimeouts);


[DllImport("kernel32.dll", SetLastError=
true)]



static
extern
bool SetCommState(IntPtr hFile,
ref DCB lpDCB);


[DllImport("kernel32.dll", SetLastError=
true)]



static
extern
bool GetCommState(IntPtr hFile,
ref DCB lpDCB);


[DllImport("kernel32.dll", SetLastError=
true)]



static
extern
bool BuildCommDCB(
string def,
ref DCB lpDCB);


[DllImport("kernel32.dll", SetLastError=
true)]



static
extern
int GetLastError();


[DllImport("kernel32.dll", SetLastError=
true)]



static
extern
bool FlushFileBuffers(IntPtr hFile);


[DllImport("kernel32.dll", SetLastError=
true)]



Merci
0
cs_Emma82 Messages postés 1 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 15 juin 2006
15 juin 2006 à 10:34
Bonjour,
je travaille également sur un système utilisant une liaison série.
En fait je refait une IHM sous C#, qui était développée sous C++.
La fonction SetCommState est utilisée à la base, mais lorsque je lance mon appli, j'ai une erreur qui me dit que je ne peut pas accéder à la mémoire et qu'elle est corrompue.
Auriez-vous une idée pour palier à ce problème?

Merci
0
Rejoignez-nous