Board Stats

  • stats Total de Usuarios: 23460
  • stats Total de Mensajes: 108709
  • stats Total de Temas: 10485
  • stats Total de Categorías: 15
  • stats Total de Foros: 74
  • stats Máx. usuarios conectados (simultáneamente): 1021

Ultimo registro



Autor Tema: Creando una libreria  (Leído 11081 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado lampi

  • Master
  • Usuario
  • ******
  • Mensajes: 165
  • Fundador del foro (d.e.p)
    • lampiweb.com
Creando una libreria
« en: Mayo 11, 2014, 13:26:33 pm »
Una libreria son funciones que nosotros creamos para hacernos el trabajo mas facil, aqui en c# no exite el include pero por lo que se su equivalente es una clase.

http://img105.xooimage.com/files/a/8/8/lampi.cs-45941db.jpg
Creando una libreria


El ejemplo no funciona ya que elimine la clase y una vez cargado el proyecto tu mismo tendras que importar la clase "Lampi.cs" para que el ejemplo funcione.
Hay dos funciones, una basica que es hacer una suma y la otra es para obtener tu ip.

http://img104.xooimage.com/files/7/e/4/lampi.cs-4594158.jpg
Creando una libreria


Tienes que ver esto, la clase esta importada y ya puedes usar las funciones.

http://img103.xooimage.com/files/7/3/9/lampi.cs-4594166.jpg
Creando una libreria


Ahora cada vez que escribas Lampi. se te mostraran las funciones que contiene la clase.

label1.Text = Lampi.Suma(2.5,3.6578).ToString();

http://img105.xooimage.com/files/7/7/c/lampi.cs-45941a7.jpg
Creando una libreria



Descarga


« Última modificación: Mayo 11, 2014, 13:29:46 pm por lampi »

betis-jesus

  • Visitante
Re:Creando una libreria
« Respuesta #1 en: Mayo 11, 2014, 13:59:17 pm »
en c# se programa todos en una class como ha podido comprobar.

si quiere crear una librería DLL dinámica con todas esa funciones los suyos es selecciona un proyecto nuevo "biblioteca de clases" incluir ese fichero o crear las funciones directamente después compilar y ya tiene una biblioteca(dll) que podrá llama en otros proyecto usando una referencia, o ser llamada desde cualquier otro lenguaje que admita llamada a dll

Desconectado lampi

  • Master
  • Usuario
  • ******
  • Mensajes: 165
  • Fundador del foro (d.e.p)
    • lampiweb.com
Re:Creando una libreria
« Respuesta #2 en: Mayo 11, 2014, 16:27:33 pm »
Por lo poco que se, leo en foros que en c# no se pueden exportar funciones para otros.
El caso que nos trae este tema es para crear librerias y compartirlas.

betis-jesus

  • Visitante
Re:Creando una libreria
« Respuesta #3 en: Mayo 11, 2014, 16:34:48 pm »
no te entiendo bien los que quiere decir, si pone todas las funciones en una dll esta funciones estara disponible para otros programa, que conozca la funcione y parametro de la misma, por ejemplo una dll creada en c# puede ser llamada desde c y usar su funciones todos depende de los argumento compatible, (tipo de datos compatible)

Desconectado lampi

  • Master
  • Usuario
  • ******
  • Mensajes: 165
  • Fundador del foro (d.e.p)
    • lampiweb.com
Re:Creando una libreria
« Respuesta #4 en: Mayo 11, 2014, 17:04:51 pm »
Puedes poner un ejemplo de una dll que pueda ser usada en lazarus o pascal que es lo mismo.

betis-jesus

  • Visitante
Re:Creando una libreria
« Respuesta #5 en: Mayo 11, 2014, 18:22:55 pm »
ahora mismo no puedo, en cuando tenga un rato intentaré hacer una sencilla dll de sumar y luego ser utilizado por un programa de pascal

Desconectado maripuri

  • Master
  • Usuario
  • ******
  • Mensajes: 23250
  • Mari
    • WirelessWindows
Re:Creando una libreria
« Respuesta #6 en: Mayo 11, 2014, 19:46:26 pm »

Citar
o ser llamada desde cualquier otro lenguaje que admita llamada a dll
Pues si esto es posible también para MMB ¿no?
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.
 
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.
No preguntes sobre temas del foro por privado, participa en el.

Desconectado lampi

  • Master
  • Usuario
  • ******
  • Mensajes: 165
  • Fundador del foro (d.e.p)
    • lampiweb.com
Re:Creando una libreria
« Respuesta #7 en: Mayo 12, 2014, 13:24:41 pm »
De momento con c# no he podido exportar funciones en una dll pero si es esto es posible tambien se podria usar en el mmb.

Desconectado maripuri

  • Master
  • Usuario
  • ******
  • Mensajes: 23250
  • Mari
    • WirelessWindows
Re:Creando una libreria
« Respuesta #8 en: Mayo 12, 2014, 18:30:24 pm »

Vale, a ver si betis nos confirma algo de esto..   obviamente puede ser interesante para ofrecer mas apoyo a MMB.
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.
 
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.
No preguntes sobre temas del foro por privado, participa en el.

Desconectado lampi

  • Master
  • Usuario
  • ******
  • Mensajes: 165
  • Fundador del foro (d.e.p)
    • lampiweb.com
Re:Creando una libreria
« Respuesta #9 en: Mayo 12, 2014, 18:45:12 pm »
Yo no encuentro un equivalente a esto para c#

Código: [Seleccionar]
extern "C" __declspec(dllexport) char* GetInfo(void)
Si te vale, aqui tienes la sdk para mmb en c++

Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.

Desconectado maripuri

  • Master
  • Usuario
  • ******
  • Mensajes: 23250
  • Mari
    • WirelessWindows
Re:Creando una libreria
« Respuesta #10 en: Mayo 12, 2014, 18:56:49 pm »

Todo vale.. como en el amor y en la guerra    :)
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.
 
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.
No preguntes sobre temas del foro por privado, participa en el.

betis-jesus

  • Visitante
Re:Creando una libreria
« Respuesta #11 en: Mayo 12, 2014, 20:24:13 pm »
esta tarde quice contesta a hilo pero se me bloqueo el pc

cuando se crear una dll en c# se puede llamar desde cualquier programa no importa que ese mimso programa que hacer la llamada a la dll este compilado en otro lenguaje siempre que el compilador de tenga una rutina de carga para llama a la dll y conocer el nombre de la función y su argumento.

en el caso de parcal la carga de una dll se usa dentro de un procedimiento(procedure)

procedure pruebaMensajedll (mensaje : string); stdcall external 'ejemplodll.dll';

pruebaMensajedll es una funcion que esta en la dll ejemplodll.dll

Citar
procedure pruebaMensajedll (mensaje : string); stdcall external 'ejemplodll.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin
  pruebaMensajedll (label.Text);
end;

vamos, nuestra aplicación no tiene que preocupase como hacer la conversión de rutina de carga eso los hacer net en el caso de una dll creada en net.

como ver se llama igual que una dll cualquiera.
« Última modificación: Mayo 12, 2014, 20:28:27 pm por betis-jesus »

Desconectado lampi

  • Master
  • Usuario
  • ******
  • Mensajes: 165
  • Fundador del foro (d.e.p)
    • lampiweb.com
Re:Creando una libreria
« Respuesta #12 en: Mayo 12, 2014, 20:37:32 pm »
El tema de la explicacion de pascal era por poner un ejemplo, lo que se quiere es ver como se crea una dll para exportar funciones en c# y usarlas en otro lenguaje.


betis-jesus

  • Visitante
Re:Creando una libreria
« Respuesta #13 en: Mayo 12, 2014, 20:42:10 pm »
no te pillo entiendo que quiere crear una dll en c# con tu funciones propia y que esta pueda ser usado en otros programa o lenguaje como parcal.

Desconectado lampi

  • Master
  • Usuario
  • ******
  • Mensajes: 165
  • Fundador del foro (d.e.p)
    • lampiweb.com
Re:Creando una libreria
« Respuesta #14 en: Mayo 12, 2014, 20:47:11 pm »
Claro, si leemos mas patras es por eso que se a alargado el tema.

betis-jesus

  • Visitante
Re:Creando una libreria
« Respuesta #15 en: Mayo 12, 2014, 21:01:52 pm »
ok, entendido pues después de cenar te creo una sencilla dll a los rápido. y tú la prueba luego en el programa que vaya a usar como prueba.

Desconectado lampi

  • Master
  • Usuario
  • ******
  • Mensajes: 165
  • Fundador del foro (d.e.p)
    • lampiweb.com
Re:Creando una libreria
« Respuesta #16 en: Mayo 12, 2014, 21:15:32 pm »
Una dll normal no vale, tiene que ser dll export para que pueda ser usada por terceros. En c++ o powerbasic es facil pero en c# creo que no es posible.

Te descargas DLL Export Viewer y veras las funciones de una dll export, las api de windows son asi por eso las pueden utilizar todos.

Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.


betis-jesus

  • Visitante
Re:Creando una libreria
« Respuesta #17 en: Mayo 12, 2014, 21:25:03 pm »
entiendo para eso esta los de pivote codigo no administrado inseguro como suele llamarlo net.

Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.

Desconectado lampi

  • Master
  • Usuario
  • ******
  • Mensajes: 165
  • Fundador del foro (d.e.p)
    • lampiweb.com
Re:Creando una libreria
« Respuesta #18 en: Mayo 12, 2014, 21:27:50 pm »
Vale, por si solo visual c# no puede.

betis-jesus

  • Visitante
Re:Creando una libreria
« Respuesta #19 en: Mayo 12, 2014, 21:45:34 pm »
posiblemente los tenga, pero nunca es necesitado exportación de dll con un pivote me es suficiente, aunque con unmanaged se puede hacer la conversiones, ten en cuenta que las funciones de la API win32 se está exportando a net en forma de ensablado. llegara un momento que la API win32 no sea necesaria.