Visual CSharp .NET - Ayuda con Funcion para balanza USB ElaneScale.dll

 
Vista:

Ayuda con Funcion para balanza USB ElaneScale.dll

Publicado por Fernando Butkovic (2 intervenciones) el 02/01/2014 02:43:20
Hola amigos, mis conocimientos en C# son bastantes reducidos. Quería especial ayuda para iniciar con un proyecto poseo una balanza USB ELane y su respectiva DLL la cual he agregado al proyecto como referencia.

Las funciones y especificaciones de la misma son las siguientes.

http://www.elane.net/UserManuals/Specifications_DLL_for_Elane_USB_Scales.pdf

poseo todas las dll registradas en System32

apigid32.dll
hid.dll
setupapi.dll
ElaneScale.dll


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ElaneScaleDLL;


namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public Boolean Elane_FindUSBScale()
{

}
private void Form1_Load(object sender, EventArgs e)
{

}


Quisiera ayuda para aunque sea comenzar a detectar la escala. No conozco mucho el uso de funciones y por mas que llevo días leyendo tutoriales no logro comenzar y conocer su uso.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con Funcion para balanza USB ElaneScale.dll

Publicado por Francisco (1 intervención) el 13/01/2014 04:54:14
Esta mal lo que tratas de hacer. En los lenguajes de programacion tenes funciones, las que declaras y llamas basicmante. La dll tiene todas las funciones que vos podes usar, y lo que haces es llamarlas.
En tu codigo no estas llamando a la funcion, la estas volviendo a declarar!

Para ir desde cero, vos en tu formulario tenes form1() y Form1_Load que son dos funciones que si las declaras, y se llaman automaticamente cuando carga el formulario. Ahi es donde pones tu codigo!

Fijate que la funcion Elane_FindUSBScale() devuelve un verdadero o falso (boolean), entonces lo que podes hacer es ponerlo en un if

Algo asi;

if(Elane_FindUSBScale()){
//Encontre la balanza
}else{
//No encontre la balanza
}

Esto cuando lo va a hacer? Cuando carga el formulario no? Entonces ponelo dentro de la funcion de load
private void Form1_Load(object sender, EventArgs e)
{

if(Elane_FindUSBScale()){
//Encontre la balanza
}else{
//No encontre la balanza
}
}

O ponelo donde quieras, mientras que se ejecute en algun momento particular (podes poner un boton que cuando se lo cliquee que haga la accion)

La otra funcion que vas a usar seguro va a ser Elane_GetScaleWeight(ByVal byteWeightUnit As Byte)

Podes hacer lo siguente
if(Elane_FindUSBScale()){
//Encontre la balanza
MessageBox.Show(Elane_GetScaleWeight(0x01);
}else{
//No encontre la balanza

MessageBox.Show("No encontre la balanza");
}

Proba poniendolo en el load,, o pone un boton y deberia funcionar
Con lo de las librerias, parece que estas haciendo bien las cosas, proba si no llamandolas en tu codigo con el using, y no te deberia saltar ningun error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con Funcion para balanza USB ElaneScale.dll

Publicado por Fernando Butkovic (2 intervenciones) el 13/01/2014 15:06:46
Hola Francisco mil gracias por responder y por tu ayuda. Ya he logrado que me detecte la balanza cuando esta conectada.

Te comento a ver si puedes ayudarme nuevamente, Todo iba bien hasta llegar a la función de obtener peso.

Elane_GetScaleWeight(0x01)

Esta arroja el error IndexOut of range exception, he escrito a la la compañía que vende las balanzas y suministro la dll, pero aun no dan respuesta. Imagino que falta algo donde se coloca el 0x01



Buen dia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar