ab.com コミュニティ
https://www.activebasic.com/forum/

取得、結合を行う関数
https://www.activebasic.com/forum/viewtopic.php?t=1505
ページ 11

作成者:  雷電 [ 2006年8月31日(木) 19:02 ]
記事の件名:  取得、結合を行う関数

関数の説明

SelUnite関数:

二つのアイテムの文字列を取得して、結合させる関数。
パラメータを少なくするのにてこずった・・・

パラメータ:

nID1・・・結合させる文字列のあるアイテムのハンドル
nID2・・・結合する文字列のあるアイテムのハンドル
AfterUnion・・・結合後の文字列を格納する文字列変数

定義は パラメータの数は多くなったが、GetDlgItem関数を使わないようにしたバージョン
※これは上記の関数と一緒に定義してください。 追記:この関数は、ActiveBasic Ver4.24で動作確認しています。

作成者:  7 [ 2006年8月31日(木) 21:32 ]
記事の件名:  Re: 取得、結合を行う関数

> nID1・・・結合させる文字列のあるアイテムのハンドル
> nID2・・・結合する文字列のあるアイテムのハンドル
> buffer1=malloc(nID1+1)
> buffer2=malloc(nID2+1)
nID1がアイテムのハンドルだと分かっているのに、どうしてmalloc関数に指定してしまうんでしょう?
malloc関数に渡すべき値はハンドルではなくて、確保するメモリのサイズです。

ご自分で気付いているか分かりませんが、雷電さんはたまにそういうことをしています。
数値でしか表現されないので分かり辛いかもしれませんが、どういった意味を持つ数値なのかをしっかり把握しましょう...。
追記。
あ。ユーザー登録してますね!

作成者:  雷電 [ 2006年8月31日(木) 21:38 ]
記事の件名: 

失礼しました

訂正しておきます。
7さんは配列を使っておられますね。
配列を使うとどうしてもメモリ使用率が高くなってしまうので、なるべく避けています。

作成者:  Indigo Visualist [ 2006年9月01日(金) 01:51 ]
記事の件名: 

ええと、7さんのようにSelUnite=1なりTRUEなりを返さないと、意味がないと思います。
メモリ使用率もそれほど気にする必要はないのではないでしょうか?
配列を使わずに書けるコードなら気にするほどのメモリを使っているとは思えませんし、
逆にメモリを大量消費するようなコードは、配列を使わないと流石に管理が大変だと思いますから。

作成者:  雷電 [ 2006年9月01日(金) 12:59 ]
記事の件名: 

引用:
> ええと、7さんのようにSelUnite=1なりTRUEなりを返さないと、意味がないと思います。
> メモリ使用率もそれほど気にする必要はないのではないでしょうか?
> 配列を使わずに書けるコードなら気にするほどのメモリを使っているとは思えませんし、
> 逆にメモリを大量消費するようなコードは、配列を使わないと流石に管理が大変だと思いますから。
コード:
If Data="" Then 
        SelUnite=0 
        Exit Function 
    End If
このコードが入っています。失敗すれば、0が返ります。
戻り値はちゃんと設定してあります。

作成者:  Mario2 [ 2006年9月01日(金) 13:54 ]
記事の件名: 

引用:
引用:
> ええと、7さんのようにSelUnite=1なりTRUEなりを返さないと、意味がないと思います。
> メモリ使用率もそれほど気にする必要はないのではないでしょうか?
> 配列を使わずに書けるコードなら気にするほどのメモリを使っているとは思えませんし、
> 逆にメモリを大量消費するようなコードは、配列を使わないと流石に管理が大変だと思いますから。
コード:
If Data="" Then 
         SelUnite=0 
         Exit Function 
     End If

このコードが入っています。失敗すれば、0が返ります。
戻り値はちゃんと設定してあります。
勘違いならすいませんが、関数って、(この場合"SelUnite"は)最初から0(FALSE)だったのでは?
だから、失敗しても成功しても0を返すような感じがします。
と言う事を、Indigo Visualistさんは言いたかったのだと思いますが・・・・見当違いならすいません。
だから、End Ifの次の行にでも"SelUnite=TRUE"と付け足せば成功なら1、失敗なら0が返ってくるのだと思います。

作成者:  雷電 [ 2006年9月01日(金) 13:59 ]
記事の件名: 

それが抜けてました。

失礼しました・・・

訂正します。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/