不正な構造体というエラー


kkk  2003-12-25 21:17:26  No: 6413  IP: [192.*.*.*]

以下の分岐文を書くとタイトルのようなエラーがでてしまいます。
自分では文法まちがってないと思っているのですが、やっぱりどこかおかしいでしょうか?

開発環境BCB 5です。 


if(id==StrToInt(lvwSocket->Items->Item[i]->SubItems->Strings[2])
    && "<CA>"==lvwSocket->Items->Item[i]->SubItems->Strings[1]){

                    ・
                    ・
                    ・
}

編集    削除
にしの  2003-12-25 22:03:17  No: 6414  IP: [192.*.*.*]

BCBを持っていないので、確認出来ませんが、演算子"->"の優先度は大丈夫でしょうか。
もしかしたら、
(((lvwSocket->Items)->Item[i])->SubItems)->Strings[2]
でうまく行くかも。

編集    削除
BCBは  2003-12-25 22:12:03  No: 6415  IP: [192.*.*.*]

文字列を==で比較できるんですか?

編集    削除
にしの  2003-12-25 22:15:03  No: 6416  IP: [192.*.*.*]

AnsiStringクラスですので==演算子で比較できますよ。
char*の場合、同じポインタでなければfalseになりますが、AnsiStringのoperator ==が定義されているので、

AnsiString==char*
char*==AnsiString
AnsiString==AnsiString

であれば文字列の比較ができます。

編集    削除
にしの  2003-12-25 22:15:34  No: 6417  IP: [192.*.*.*]

訂正。
> char*の場合
char*同士の場合

編集    削除