Toute question d'un PROFI à un SUPER PROFI - 1. - page 2

 
Zhunko:

Le projet a-t-il été copié dans VC++ 6.0 avec ses propriétés ou a-t-il été configuré séparément ?

Il n'y avait qu'un seul fichier cpp fonctionnel, avec un ensemble de fonctions. J'ai donc recréé le projet en 6.0 et j'ai simplement transféré toutes les fonctions dans celui-ci.

J'ai eu trois occasions d'utiliser des fonctions dans VS 2010 qui ne sont pas dans XP. Tout a fonctionné sous Vista et 7, mais sous XP le terminal ne voyait pas la bibliothèque.

C'est le problème avec les derniers VS, ils ne font pas les bonnes dlls. Certaines dll fonctionnent et d'autres non.
 
sergeev:

Il n'y avait qu'un seul fichier cpp fonctionnel, avec un ensemble de fonctions. J'ai donc recréé le projet en 6.0 et j'ai simplement transféré toutes les fonctions dans celui-ci.

C'est le problème avec les derniers VS, ils font de mauvaises dlls. Ils fonctionnent sur certains et pas sur d'autres.

S'il était copié avec toutes les propriétés, le compilateur afficherait en erreur qu'il n'existe pas de telles fonctions.

Nouvelles lignes avec les directives du préprocesseur #IFDEF | #IFNDEF ... #ENDIF. Maintenant, ils sont séparés sur Vista et avant. Un grand nombre de nouvelles fonctions intéressantes sont apparues, qui ne fonctionnent pas sous XP. Ou plutôt, ils ne sont pas là.

 
granit77:
Si les PRO n'y voient pas d'inconvénient, les modérateurs peuvent aider à garder le fil de discussion aussi stérile que possible.

Il n'y a pas besoin de demander cela, même si c'est un pro. Ils (les pros) sont d'accord ! ))

Et gardez un œil sur " Where's the Line..." C'est un sujet intéressant et en vingt posts, il n'y a pratiquement pas de conneries.

Mais un combat se prépare déjà.....

 
sergeev:
C'est le problème avec les dernières dlls de VS : ils ne font pas les bons. Ils fonctionnent sur certains et pas sur d'autres.
Le problème se situe peut-être au niveau des paramètres par défaut ? Je pense que si je mets à jour mon projet de travail de 6.0 à 2008, il se construira aussi normalement, mais je peux me tromper.
 
TheXpert:
Le problème se situe peut-être dans les paramètres par défaut ? Je pense que si vous mettez à jour un projet fonctionnel de la 6.0 à la 2008, il se construira également sans problème, mais je peux me tromper.

Je n'avais rien sur 6.0, mais de 2008 à 2010, tous les projets ont fonctionné. Je pense que le problème est toujours l'utilisation de fonctions WinAPI qui ne sont pas disponibles sur les versions supérieures du système.

Lors de l'installation du studio, la version minimale du système par défaut est la version actuelle. Du moins, c'est ce que j'avais en 2008 et 2010. Je dois le changer en XP.

 
TheXpert:
Le problème se situe peut-être dans les paramètres par défaut ? Je pense que si je mets à jour mon projet de travail de 6.0 à 2008, cela fonctionnera également, mais je peux me tromper.

Je l'ai fait à l'origine en 2008. J'ai ensuite répété la même chose sur 6.0 (en créant un projet dll à partir de zéro).

Ça a marché. Et cela a fonctionné exactement sur Win7 et Vista. La version 2008 présentait des problèmes, tandis que la version 6.0 était correcte. Les VS dans les deux cas sont sous XP.

 
drknn:
Essayez 226. La question des dlls a déjà été soulevée ici. Les gens sont arrivés à la conclusion que la version 226 est la plus stable.
J'ai essayé 228, 229 aussi. Ils sont les mêmes dans mon cas. Similaire à 226. Tout fonctionne si je n'initialise pas immédiatement la bibliothèque. Le 225 ne fonctionne pas du tout. Ça gèle le terminal.
 

Oh, des conneries. Ce doit être une question pour les développeurs, ou bien tout ne va pas bien dans la DLL. Je ne suis pas un programmeur C++ - j'ai essayé de faire quelques programmes une fois, et j'ai découvert que tant que vous avez un shell C++ installé, tout fonctionne. Mais dès que vous transférez l'exécutable sur un autre ordinateur, dès que vous découvrez l'absence de certaines dll-cycle. Je n'aime pas non plus travailler avec des cordes. J'ai abandonné ce langage et me suis installé sur Delphi. Peut-être que vous pouvez essayer de faire votre dll dessus - de telles dll sont tout à fait normales avec le terminal...

P.S.

Donc, je ne comprends pas pourquoi tout le monde loue autant le C++, si même au niveau du choix d'un shell pour la programmation des problèmes se posent avec ce langage....

 

Je partage également mes doutes.

Je ne prétends pas être un super-professionnel, je n'atteins pas le niveau d'un pro - personne ne lit les messages... c'est clair comme de l'eau de roche.

Mais plus j'écris du code (pas beaucoup jusqu'à présent) - une question se pose :

Comment les paramètres sont-ils transmis dans les fonctions ?

(par nom ou par valeur ?)

J'ai le sentiment que les variables de type chaîne de caractères deviennent instables lorsqu'on les passe...

;)

 
Sorento:

Je partage également mes doutes.

Je ne prétends pas être un super-professionnel, je n'atteins pas le niveau d'un pro - personne ne lit les messages... c'est clair comme de l'eau de roche.

Mais plus j'écris du code (pas beaucoup jusqu'à présent) - une question se pose :

Comment les paramètres sont-ils transmis dans les fonctions ?

(par nom ou par valeur ?)

J'ai le sentiment que les variables de type chaîne de caractères deviennent fringantes lorsqu'on les passe...

;)

Il est facile de s'en rendre compte. Vous passez une variable de type chaîne de caractères pré-initialisée avec une valeur dans un sous-programme. Dans la sous-routine, vérifiez tout d'abord ce qui a été transmis exactement. Par exemple, comme ceci :

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

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