Acceso al progrmador de tareas desde .NET ¿Otra vez Interop?

03/10/2004 - 16:38 por Zephryn Xirdal | Informe spam
¿Pues para qué cojones sirve el .NET si no lleva ni la mitad del API de
Windows? ¿Piensa Microsoft que nos pasemos por el morro a programar con el
.NET? ¿Dónde están los controles nativos del XP? ¿Llevará Longhorn un API
completo o tendremos que seguir utilizando Interop para la mitad de las
cosas?

Otra cosa que no me gusta nada del C# es la castaña pilonga esa del Interop.
Toda la vida se ha podido mezclar código de diferentes lenguajes sin tanto
paripé, y encima la mitad de cosas del Interop están sin documentar... Desde
luego que este va a ser mi último programa en C# (y ha sido el primero),
aunque de momento no en .NET. Le voy a dar una oportunidad al C++ Manejado
(que supongo me va a permitir hacer llamadas nativas sin tanta
parafernalia).

Y desde luego, como no mejoren lo llevan bastante claro. Mucha maquinaria
propagandística, mucho "ahora todo se va a hacer en .NET", "el .NET acelera
tu productiviad". Joder. Si cuando tengo que sacar un tooltip tengo te
tirarme dos días y aún no lo he conseguido, porque no está implementado en
el .NET.

En la ficha, la llamada a ShowBallon la hago en un sólo sitio, después de
InitializeComponent(), sin embargo, si pongo un punto de interrupción dentro
de la llamada a ShowBallon, se me llama hasta cinco veces. ¿Por qué, si sólo
se debe lanzar una vez? ¿Sin embargo, al constructor sólo se lo llama una
vez. ¿Me lo puede explicar alguien?

public FormFortunes()

{

//

// Necesario para admitir el Diseñador de Windows Forms

//

InitializeComponent(); //Sólo se llama 1 vez al lanzar la aplicación

//

// TODO: agregar código de constructor después de llamar a
InitializeComponent

//

LoadConfiguration(); //Sólo se llama 1 vez al lanzar la aplicación

m_random=new Random(); //Sólo se llama 1 vez al lanzar la aplicación

GetOneFortune(false); //Sólo se llama 1 vez al lanzar la aplicación

ShowBalloon( Text,sb.ToString(),150000); //!SE LLAMA HASTA 5 JODIDAS VECES!

}


De la existencia viene el nacimiento. Del nacimiento vienen la vejez, la
muerte, la pena, los lamentos, el dolor, el abatimiento, la desesperación.

Preguntas similare

Leer las respuestas

#11 Javier Ros
04/10/2004 - 14:27 | Informe spam
Nosotros antes de decidirnos nos exigieron un proyecto en cada lenguaje,
Java y C#, en web.

Me descojono de pensar en los resultados. WebSphere sucks.
Los tiempos de desarrollo eran abismalmente distintos.

Saludos,


Javier Ros Moreno
Aguas de Murcia
Murcia (España)


"Alberto" escribió en el mensaje
news:O%
Perdonar que me meta en la conversación, pero estoy intentando decidirme


por
un entorno de programación para trabajar y estoy en la duda entre C# y


Java.
¿Qué me aconsejais?

Muchas gracias
"Octavio Hernandez" escribió en el mensaje
news:
> Zephryn,
>
>> ...siempre los he hecho con Borland.
>
> Yo también llevo muchos años ligado a los productos de Borland.
>
>> ...BCB 6 tiene más fallos que una escopeta de feria... me han pasado
> cosas...
>
> ¿Tienes instalado el SP4 de C++ Builder 6? No he hecho cosas de 50.000
> líneas con él (ni siquiera de 5.000), pero sí con Delphi (y he visto


cosas
> aún mucho mayores), sin mayores problemas, y siendo el mismo compiler
> back-end y la misma VCL...
>
>> Espero que esto del .NET se convierta en un framework en condiciones


como
> es la VCL...
>
> Yo creo que ya lo es, y está en el camino correcto para seguir
> avanzando...
> ¿Sabes que uno de los padres de .NET es Anders Hejlsberg, el creador de
> Turbo Pascal, Delphi y la VCL?
>
> Slds,
>
> Octavio
>
>


Respuesta Responder a este mensaje
#12 Zephryn Xirdal
04/10/2004 - 15:15 | Informe spam
Sigue abajo.

Crear es tan difícil como ser libre.

"Javier Ros" $PAMHEREemuasa.es> escribió en el mensaje
news:%
Particularmente no encuentro ninguna dificultad a la hora de llamar al
API
de Windows,
pero si has programado en diferentes lenguajes tampoco entiendo como te
puede resultar
tan complicado el tema. ¿que esperabas?



Pues algo asi como
"extern C" pepito(int a, char b)
{
}

extern C int entero;

Si lo que me jode es todo eso de primero tener que tomar las funciones del
api, desde la DLL correspondiente, y luego usarlas haciendo las conversiones
de tipos


Veo tu cita de una de las frases de Sidhartha. Estoy seguro que si
Sidhartha
hubiera o hubiese
programado, lo hubiera o hubiese hecho en C#. Sidhartha consiguio adoptar
una alta tolerancia
a la precipitación.

Be patient, todo llegará.


Saludos,

Aquien buen arbol se arrima, amanece más temprano.


Javier Ros Moreno
Aguas de Murcia
Murcia (España)




Tú y yo posiblemente nos conozcamos (o al menos hayamos oído hablar uno del
otro)

Ponme si quieres un mail privado a esta dirección, pero quita el QUITAME.

Saludos.


"Zephryn Xirdal" escribió en el
mensaje news:%
¿Pues para qué cojones sirve el .NET si no lleva ni la mitad del API de
Windows? ¿Piensa Microsoft que nos pasemos por el morro a programar con
el
.NET? ¿Dónde están los controles nativos del XP? ¿Llevará Longhorn un API
completo o tendremos que seguir utilizando Interop para la mitad de las
cosas?

Otra cosa que no me gusta nada del C# es la castaña pilonga esa del


Interop.
Toda la vida se ha podido mezclar código de diferentes lenguajes sin
tanto
paripé, y encima la mitad de cosas del Interop están sin documentar...


Desde
luego que este va a ser mi último programa en C# (y ha sido el primero),
aunque de momento no en .NET. Le voy a dar una oportunidad al C++
Manejado
(que supongo me va a permitir hacer llamadas nativas sin tanta
parafernalia).

Y desde luego, como no mejoren lo llevan bastante claro. Mucha maquinaria
propagandística, mucho "ahora todo se va a hacer en .NET", "el .NET


acelera
tu productiviad". Joder. Si cuando tengo que sacar un tooltip tengo te
tirarme dos días y aún no lo he conseguido, porque no está implementado
en
el .NET.

En la ficha, la llamada a ShowBallon la hago en un sólo sitio, después de
InitializeComponent(), sin embargo, si pongo un punto de interrupción


dentro
de la llamada a ShowBallon, se me llama hasta cinco veces. ¿Por qué, si


sólo
se debe lanzar una vez? ¿Sin embargo, al constructor sólo se lo llama una
vez. ¿Me lo puede explicar alguien?

public FormFortunes()

{

//

// Necesario para admitir el Diseñador de Windows Forms

//

InitializeComponent(); //Sólo se llama 1 vez al lanzar la aplicación

//

// TODO: agregar código de constructor después de llamar a
InitializeComponent

//

LoadConfiguration(); //Sólo se llama 1 vez al lanzar la aplicación

m_random=new Random(); //Sólo se llama 1 vez al lanzar la aplicación

GetOneFortune(false); //Sólo se llama 1 vez al lanzar la aplicación

ShowBalloon( Text,sb.ToString(),150000); //!SE LLAMA HASTA 5 JODIDAS


VECES!

}


De la existencia viene el nacimiento. Del nacimiento vienen la vejez, la
muerte, la pena, los lamentos, el dolor, el abatimiento, la
desesperación.






Respuesta Responder a este mensaje
#13 Alberto
04/10/2004 - 22:01 | Informe spam
Perdona pero me interesa mucho tu opinión y no entiendo la conclusión que
expones. ¿Me lo aclaras? Muchas gracias
"Javier Ros" $PAMHEREemuasa.es> escribió en el mensaje
news:
Nosotros antes de decidirnos nos exigieron un proyecto en cada lenguaje,
Java y C#, en web.

Me descojono de pensar en los resultados. WebSphere sucks.
Los tiempos de desarrollo eran abismalmente distintos.

Saludos,


Javier Ros Moreno
Aguas de Murcia
Murcia (España)


"Alberto" escribió en el mensaje
news:O%
Perdonar que me meta en la conversación, pero estoy intentando decidirme


por
un entorno de programación para trabajar y estoy en la duda entre C# y


Java.
¿Qué me aconsejais?

Muchas gracias
"Octavio Hernandez" escribió en el mensaje
news:
> Zephryn,
>
>> ...siempre los he hecho con Borland.
>
> Yo también llevo muchos años ligado a los productos de Borland.
>
>> ...BCB 6 tiene más fallos que una escopeta de feria... me han pasado
> cosas...
>
> ¿Tienes instalado el SP4 de C++ Builder 6? No he hecho cosas de 50.000
> líneas con él (ni siquiera de 5.000), pero sí con Delphi (y he visto


cosas
> aún mucho mayores), sin mayores problemas, y siendo el mismo compiler
> back-end y la misma VCL...
>
>> Espero que esto del .NET se convierta en un framework en condiciones


como
> es la VCL...
>
> Yo creo que ya lo es, y está en el camino correcto para seguir
> avanzando...
> ¿Sabes que uno de los padres de .NET es Anders Hejlsberg, el creador de
> Turbo Pascal, Delphi y la VCL?
>
> Slds,
>
> Octavio
>
>






Respuesta Responder a este mensaje
#14 Javier Ros
05/10/2004 - 10:02 | Informe spam
> Particularmente no encuentro ninguna dificultad a la hora de llamar al
> API
> de Windows,
> pero si has programado en diferentes lenguajes tampoco entiendo como te
> puede resultar
> tan complicado el tema. ¿que esperabas?
>
Pues algo asi como
"extern C" pepito(int a, char b)
{
}

extern C int entero;

Si lo que me jode es todo eso de primero tener que tomar las funciones del
api, desde la DLL correspondiente, y luego usarlas haciendo las


conversiones
de tipos




Cuando programo en Visual C++, y quiero usar una DLL, puedo hacerlo de 2
formas:

1). Usar LoadModule() y GetProcAddress().
2). Especificar "la DLL correspondiente" al liker, así como el ".LIB" que
contiene las
definiciones de las funciones exportadas por la DLL.

hmn, yo prefiero usar LoadModule y GetProcAddress, por que las DLL no se
cargan al inicio,
las cargas tú y por lo tanto puedes controlar si existe o no la DLL desde el
codigo, ademas de
poderla liberar en cualquier momento, no me mola dejar las DLL pilladas por
que un ejecutable
las use.

Cuando ví en C# la manera de llamar a la API me gustó mucho (en delphi se
hace igual),
siempre puedes preguntarle a google en que Dll se encuentra tal función.
Lo peor, para mí, son los tipos de datos, pero bueno, hay que acostumbrarse.

>
Tú y yo posiblemente nos conozcamos (o al menos hayamos oído hablar uno


del
otro)

Ponme si quieres un mail privado a esta dirección, pero quita el QUITAME.

Saludos.



Hecho!.

Saludos,


Javier Ros Moreno
Aguas de Murcia
Murcia (España)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida