PROFIからSUPER PROFIへの質問-1. - ページ 2

 
Zhunko:

プロジェクトは、VC++ 6.0にプロパティごとコピーされたのでしょうか、それとも別途設定されたのでしょうか?

そのため、6.0でプロジェクトを 再作成し、すべての関数をそこに移しました。

XPにない機能をVS2010で使ったことが3回ほどあります。Vistaと7ではすべてうまくいったのですが、XPではターミナルにライブラリが表示されませんでした。

最新のVSでは、正しいDLLを作らないのが問題なんだ。動作するDLLとしないDLLがあります。
 
sergeev:

そのため、6.0でプロジェクトを再作成し、すべての関数をそこに移しました。

最新のVSの問題で、間違ったDLLを作ることがあるのです。ある人には効くが、ある人には効かない。

すべてのプロパティをコピーすると、コンパイラはそのような関数がないことをエラーで表示します。

プリプロセッサー指示文#IFDEF | #IFNDEF を持つ新しい行 ...#ENDIF今はVista上とそれ以前で分かれています。XPでは動かない面白い機能がたくさん出てきました。というか、いないんです。

 
granit77:
PROが気にしないなら、モデレーターはこのスレッドをできるだけ無菌状態に保つのに役立つ。

プロとはいえ、これを聞く必要はないでしょう。彼ら(プロ)も納得! ))

また、「Where's the Line...」は面白いテーマで、20回の投稿でほとんどデタラメがありませんから、ぜひご注目ください。

しかし、すでに戦いは始まっている...。

 
sergeev:
それが、最新のVSのDLLは正しいものを作っていない、という問題点です。ある人には効くが、ある人には効かない。
もしかしたら、初期設定に問題があるのでは?私の作業中のプロジェクトを 6.0から2008にアップグレードすれば、間違っているかもしれませんが、正常にビルドもできると思います。
 
TheXpert:
もしかしたら、初期設定に問題があるのでは?間違っているかもしれませんが、動作中のプロジェクトを6.0から2008にアップグレードしても、問題なくビルドできると思います。 。

6.0では何もなかったのですが、2008年から2010年まではすべてのプロジェクトが動いて いました。やはり、システムのバージョンが上がると使えなくなるWinAPI関数の使用が問題なのだと思います。

スタジオをインストールする際、デフォルトの最小システムバージョンは現在のものです。少なくとも、2008年と2010年はそうでしたね。XPに変更する必要がある。

 
TheXpert:
もしかしたら、初期設定に問題があるのでは?私の作業中のプロジェクトを6.0から2008にアップグレードすれば、それもうまくいくと思います。間違っているかもしれませんが。 。

もともと2008年にやっていたんです。その後、6.0でも同じことをしました ゼロからDLLプロジェクトを作成)。

うまくいった。そして、Win7とVistaできっちり動きました。2008は不具合があったが、6.0は大丈夫だった。VSはどちらもXPです。

 
drknn:
226を試してみてください。dllの問題は、すでにここで提起されています。226が最も安定したビルドであるというのが、人々の結論です。
228,229も試した。私の場合、それらは同じです。226と同様。ライブラリをすぐに初期化しなければ、すべてうまくいきます。225は全く機能しない。端末がフリーズしてしまう。
 

ああ、ばかばかしい。開発者への質問なのか、DLLですべてがうまくいっているわけではないのでしょう。私はC++プログラマーではありません。一度、いくつかのプログラムを作ってみましたが、C++シェルをインストールしている間は、すべてがうまくいくということに遭遇しました。しかし、あなたが別のコンピュータに実行可能ファイルを転送するとすぐに、いくつかのDLL-サイクルの欠如を発見したとき。また、私は文字列を扱うのが好きではありません。その言語をあきらめ、Delphiに落ち着きました。そのようなDLLは、ターミナルではごく普通のことです。

追伸

だから、プログラミングのためのシェルを選ぶというレベルでさえ、この言語では問題が発生するのに、なぜみんなC++をそんなに褒めるのか理解できない...。

 

私も疑問は共有しています。

スーパープロを気取らない、プロの域に達しない--誰もメッセージを読まない...馬の目にも明らかです。

しかし、コードを書けば書くほど(今のところあまりないのですが)-疑問が湧いてきます。

関数内でパラメータはどのように渡されるのですか?

(名目的にも価値的にも)

文字列変数を渡すとジリ貧になるのでは...という疑惑があります。

;)

 
Sorento:

私も疑問は共有しています。

スーパープロを気取らない、プロの域に達しない--誰もメッセージを読まない...馬の目にも明らかです。

しかし、コードを書けば書くほど(今のところあまりないのですが)-疑問が湧いてきます。

関数内でパラメータはどのように渡されるのですか?

(名目的にも価値的にも)

文字列変数を渡すとダッシュしてしまうのでは...という疑惑があります。

;)

これは簡単に調べることができます。サブプログラムに、あらかじめ値を初期化した文字列変数を渡す。サブルーチンでは、まず、何が渡されたかを正確にチェックします。例えば、こんな風に。

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

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