Cualquier pregunta de un PROFI a un SUPER PROFI - 1. - página 2

 
Zhunko:

¿Se ha copiado el proyecto en VC++ 6.0 con sus propiedades o se ha configurado por separado?

Sólo había un archivo cpp que funcionaba, con un conjunto de funciones. así que volví a crear el proyecto en 6.0 y sólo transferí todas las funciones a él.

He tenido tres ocasiones en las que he utilizado funciones en VS 2010 que no están en XP. Todo funcionaba en Vista y 7, pero en XP el terminal no veía la biblioteca.

Ese es el problema de los últimos VS, que no hacen las dlls adecuadas. Algunos dlls funcionan y otros no.
 
sergeev:

Sólo había un archivo cpp que funcionaba, con un conjunto de funciones. así que volví a crear el proyecto en 6.0 y sólo transferí todas las funciones a él.

Ese es el problema con el último VS, hacen algunas dlls erróneas. Funcionan en algunos y en otros no.

Si se copiara con todas las propiedades, el compilador mostraría por error que no existen tales funciones.

Nuevas líneas con directivas de preprocesador #IFDEF | #IFNDEF ... #ENDIF. Ahora están separados en Vista y antes de él. Aparecieron muchas funciones nuevas e interesantes que no funcionan en XP. O mejor dicho, no están ahí.

 
granit77:
Si a los PRO no les importa, los moderadores pueden ayudar a mantener el hilo lo más estéril posible.

No es necesario preguntar esto, aunque sea un profesional. Ellos (los profesionales) están de acuerdo. ))

Y, por favor, échale un ojo a " Dónde está la línea..." Es un tema interesante y en veinte posts no hay prácticamente ninguna tontería.

Pero ya se está gestando una pelea....

 
sergeev:
Ese es el problema con las últimas dlls de VS: no hacen las correctas. Funcionan en algunos y en otros no.
¿Tal vez el problema esté en la configuración por defecto? Creo que si actualizo mi proyecto de trabajo de la 6.0 a la 2008, también se construirá normalmente, aunque podría estar equivocado.
 
TheXpert:
¿Quizás el problema esté en la configuración por defecto? Creo que si se actualiza un proyecto en funcionamiento de la 6.0 a la 2008, también se construirá bien, aunque podría estar equivocado.

No tenía nada en la 6.0, pero de 2008 a 2010 todos los proyectos funcionaban. Creo que el problema sigue siendo el uso de funciones WinAPI que no están disponibles en versiones superiores del sistema.

Al instalar el estudio, la versión mínima del sistema por defecto es la actual. Al menos eso es lo que tenía en 2008 y 2010. Tengo que cambiarlo a XP.

 
TheXpert:
¿Quizás el problema esté en la configuración por defecto? Creo que si actualizo mi proyecto de trabajo de 6.0 a 2008 también funcionaría bien, aunque podría estar equivocado.

Lo hice originalmente en 2008. Luego repetí lo mismo en la 6.0 (creé un proyecto dll desde cero).

Ha funcionado. Y funcionó exactamente en Win7 y Vista. El 2008 tenía fallos, mientras que el 6.0 estaba bien. VS en ambos casos están en XP.

 
drknn:
Prueba el 226. El tema de las dlls ya se ha planteado aquí. La gente ha llegado a la conclusión de que la 226 es la construcción más estable.
Probé con el 228 y el 229 también. En mi caso son los mismos. Similar al 226. Todo funciona si no inicializo la biblioteca inmediatamente. El 225 no funciona en absoluto. Congela el terminal.
 

Oh, mierda. Debe ser una pregunta para los desarrolladores, o todo no está bien en la DLL. No soy un programador de C++ - traté de hacer un par de programas una vez, y descubrí que mientras tienes un shell de C++ instalado, todo funciona. Pero en cuanto se transfiere el ejecutable a otro ordenador, en cuanto se descubre la falta de algún ciclo dll. Tampoco me gusta trabajar con cuerdas. Dejé ese lenguaje y me decidí por Delphi. Quizás puedas intentar hacer tu archivo dll con él - tales dlls son bastante normales con el terminal...

P.D.

Así que no entiendo por qué todo el mundo alaba tanto el C++, si incluso a nivel de elección de un shell para programar surgen problemas con este lenguaje...

 

Yo también comparto mis dudas.

No pretendo ser un superprofesional, no llego al nivel de un profesional - nadie lee los mensajes... está claro a ojo de buen cubero.

Pero cuanto más escribo el código (no mucho hasta ahora) - una pregunta ocurre:

¿Cómo se pasan los parámetros en las funciones?

(¿por nombre o por valor?)

Tengo la sospecha de que las variables de cadena se ponen nerviosas al pasarlas...

;)

 
Sorento:

Yo también comparto mis dudas.

No pretendo ser un superprofesional, no llego al nivel de un profesional - nadie lee los mensajes... está claro a ojo de buen cubero.

Pero cuanto más escribo el código (no mucho hasta ahora) - una pregunta ocurre:

¿Cómo se pasan los parámetros en las funciones?

(¿por nombre o por valor?)

Tengo la sospecha de que las variables de cadena se precipitan al pasarlas...

;)

Esto se puede averiguar fácilmente. Se pasa una variable de cadena preinicializada con un valor a un subprograma. En la subrutina, comprueba en primer lugar qué se ha pasado exactamente. Por ejemplo, así:

//+------------------------------------------------------------------+
//|                 Старт работы скрипта                             |
//+------------------------------------------------------------------+
int start(){
  string Stroka="Любая биллеберда";
  Alert("----------------------------------------");
        Alert("В функцию передано значение переменной Stroka = ",Stroka);
        Proverka(Stroka);
        Alert("----------------------------------------");
        return(0);
}
//+------------------------------------------------------------------+
//|                  Пользовательские подпрограммы                   |
//+------------------------------------------------------------------+

void Proverka(string Str){
  Alert("В функцию поступило значение = ",Str);
}