Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   Ejecutar proyecto sencillo con Mono (https://www.clubdelphi.com/foros/showthread.php?t=35657)

SMTZ 17-09-2006 08:39:15

Ejecutar proyecto sencillo con Mono
 
Hola, estoy haciendo pruebas con Mono bajo Linux SUSE 10.1. El caso es que he hecho un ejemplo tonto con un botón y un textbox en Delphi 8 .NET para probar, pero bajo Linux no funciona y no sé por qué. El error que da es el siguiente:

mono Project1.exe Mono System.Windows.Forms Assembly [$auto_build_revision$]

Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.DllNotFoundException: libX11.so
in (wrapper managed-to-native) System.Windows.Forms.XplatUIX11:XInitThreads ()
in <0x00070> System.Windows.Forms.XplatUIX11:.ctor ()
in <0x00040> System.Windows.Forms.XplatUIX11:GetInstance ()
in <0x00061> System.Windows.Forms.XplatUI:.cctor ()--- End of inner exception stack trace ---

in <0x00000> <unknown method>
in <0x00064> System.Windows.Forms.Form:get_CreateParams ()
in <0x00273> System.Windows.Forms.Control:.ctor ()
in <0x00011> System.Windows.Forms.ScrollableControl:.ctor ()
in <0x00010> System.Windows.Forms.ContainerControl:.ctor ()
in <0x00019> System.Windows.Forms.Form:.ctor ()
in <0x0000a> WinForm.TWinForm:.ctor ()
in (wrapper remoting-invoke-with-check) WinForm.TWinForm:.ctor ()
in <0x00018> Project1.Units.Project1:Project1 ()


Tampoco funciona si ejecuto el EXE con mono --aot Project1.exe.

Naturalmente, tengo instalados los paquetes Mono:


rpm -q -a |grep mono
mono-data-sybase-1.1.13.7-6
mono-jscript-1.1.13.7-6
dbus-1-mono-0.60-30
mono-data-firebird-1.1.13.7-6
mono-basic-1.1.13.7-6
mono-data-1.1.13.7-6
mono-web-1.1.13.7-6
mono-data-oracle-1.1.13.7-6
mono-winforms-1.1.13.7-6
mono-extras-1.1.13.7-6
monodoc-core-1.1.13-17
mono-data-sqlite-1.1.13.7-6
mono-data-postgresql-1.1.13.7-6
mono-devel-1.1.13.7-6
mono-tools-1.1.11-20
mono-core-1.1.13.7-6
mono-locale-extras-1.1.13.7-6
mono-nunit-1.1.13.7-6


Bajo Windows el ejecutable no da problemas.

Gracias.

Kimero 17-09-2006 14:32:04

Empezaría confirmando q version de .net usa delphi8. Probablemente sea 1.0.

Por que no pruebas con el turbo delphi.net o el chrome para vs?

http://en.wikipedia.org/wiki/Chrome_...mming_language

SMTZ 17-09-2006 15:13:09

Versión .NET Delphi 8
 
Hola, Delphi 8 utiliza la verisón 1.1 de .NET.

Estoy haciendo pruebas para saber si un proyecto más grande, que por el momento estoy haciendo para Windows, funcionaría también en Linux. Utiliza Oracle 10g con componentes Borland.Data.Provider para acceder a la base de datos. Supongo que Mono me dará problemas al encontrar las clases de Borland, pero si ya tengo problemas con un simple ejemplo... Desconozco si TurboDelphi trae las clases de Borland, por lo que no sé si me compilaría el proyecto "serio".

Todavía no sé mucho sobre Mono y soy consciente de que el proyecto está en sus inicios, pero el hecho de ejecutar un EXE .NET creo debería ser más transparente en cuanto a la plataforma donde se ejecuta para el desarrollador del proyecto. Esta mañana he escrito un email a Novell con el código fuente del programa de pruebas, el error que me da y las acciones que he realizado para tratar del solventar el error.

Si consigo solucionarlo, lo escribiré en este post.

Gracias y un saludo.

Kimero 17-09-2006 15:35:26

veo q estas con mono 1.13, prueba con 1.17
http://www.go-mono.com/archive/1.1.17/

aqui se aclara q el studio 2006 trae la version 2.5 de los componentes q estas usando

http://bdn.borland.com/article/33443

desconozco si turbo los tiene [probablemente no] pero podrias probar con el trial del 2006


Si bien está todo muy crudo para hacer un proyecto grande, daria un intento a las ultimas versiones de todo.

Un saludo. :)

-----------
EDIT: el turbo SI trae BDP. tal vez esten reducidos, pero los trae

http://www.google.com/url?sa=t&ct=re...der%20turbo%22

SMTZ 19-09-2006 16:15:48

Funcionó
 
Hola, pues tenías razón. Con las librerías 1.17 ha funcionado a la primera.


Saludos.

Kimero 20-09-2006 23:00:46

:D

hay q darles mas tiempo a los de mono, seguramente hay muchas partes incompletas, pero la posibilidad hacer proyectos grandes multiplataforma es inminente :)

SMTZ 25-09-2006 10:27:45

Borland.Data.Provider no funciona bajo mono
 
Sí, tienes razón. El proyecto está en sus inícios y tiene muy buena pinta.

El programa "serio" que estoy haciendo, que utiliza Oracle y todo eso, he probado de ejecutarlo bajo mono. En Linux no tengo ni instalado el Oracle, así que ya sabía que fallaría la conexión a la BD, pero que, al menos, vería una ventana, pero es que el programa falla porque la clase Borland.Data.Provider no es compatible con Mono. El mensaje de error dice que la vuelva a compilar.
Esta es una clase propia de Borland, pero creía que serviría para cualquier plataforma .NET, así que copié la dll al directorio donde tengo ubicada la aplicación, pero me dice que vuelva a compilar esta dll, por lo tanto, lo de hacer aplicaciones multiplataforma con .NET, me temo que no va a ser tan fácil por el momento.

Si existe alguna solución a este problema que no sea que los de borland recompilen esta DLL para Mono, la desconozco.

Un saludo.


La franja horaria es GMT +2. Ahora son las 06:43:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi