| ■No47811 (lavender さん) に返信
質問は、状況によって答えが変わります。質問するときは、「聞きたいこと」よりも、「今の状況」を伝えるようにすると、答えを早く得やすいです。
> > Private Sub Make_Line(x as single,y as single) > oj.Line((x,y)-(x+10,y+10)) > End Sub > > ↑こういった描画があちこちにあると言いたかったのです。
このコードでは、ojは、引数として渡していません。ということは、コードを順番に実行すると、どこかで設定していると思われます。ならば、設定しているところを適切に修正すれば良いのではないでしょうか。 しかしそれでは、オブジェクト指向としてのオブジェクトの在り方がくずれるかもしれません。それを正すのが目的でしょうか。 つまり、「VB5→VB9への移行」が主目的でしょうか。同時に「オブジェクトの再編成」もするのが目的でしょうか。 私は、まずは「VB2008で動くこと」を目的とし、その過程で「オブジェクトの関わり」や「処理の流れ」をメモし、今の処理のおかしなところがハッキリしてから、オブジェクトの再編成をする方が、結果的にコストが低いのではないかと思います。
> それを > Private Sub Make_Line(x as single,y as single) > Dim G as Graphics > G.DrawLine(Pens.Black,x,y,x+10,y+10) > End Sub > に出来たらとっても楽ちんだな♪と安易に考えたのです。 > でも今のObjectタイプが何か判断してからGraphicsをインスタンス化しないとダメですよね??
でも、呼び出しもとが渡せば、それで済むかもしれません。VB5であっても、描くことが出来ないオブジェクトに対して描くことは出来ないので、何処かでどうにかして、ojに描くことが出来るオブジェクトを設定しているはずです。
> それをFunctionで書こうと思いました。 > > 中々うまく伝えられなくて、説明できていないと思いますがどうぞ宜しくお願いします。。
|