【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net (435レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
23
(4): 2017/01/27(金)20:21 ID:tSNcnN0K(1) AAS
>>21-22 よくわかんないけと゛、Type 命令文関係を見てみます。

虚数演算と同じファイルに放り込んでおいたのが、整数演算。
'外部リンク[htm]:rucio.a.la9.jp
で見つけた内容をコピーしただけのルーチン(何やっているのかわからなかった)がいくつか。
で、問題は
Function LCM(ParamArray Values() As Variant) As Long
の「ParamArray 」、の部分。これに対応できるらしい命令が
Function Overload 系処理。
外部リンク[html]:makoto-watanabe.main.jp
外部リンク[html]:makoto-watanabe.main.jp

Declare Function AAAA OverLoad (InA1 As Long, InA2 As Long, InA3 As Long) As Long
Declare Function AAAA OverLoad (InA1 As Long, InA2 As Long) As Long
Declare Function AAAA(InA() As Long) As Long

と、OverLoad 句のついている Declare を先に、ついていないDeclare文を後ろにと、並べないとエラーになる。
間に別の名称の文を入れても解釈してくれるみたい。
Declare Function AAAA OverLoad (InA1 As Long, InA2 As Long, InA3 As Long) As Long
Declare Function AAAA OverLoad (InA1 As Long, InA2 As Long) As Long
Declare Function BBBB(InA() As Long) As Long
Declare Function AAAA(InA() As Long) As Long
38
(3): 2017/01/29(日)12:57 ID:ElqR2hUp(5/7) AAS
>>23 Type 命令文関係を見てみます。
のつづき。Type みてもわからなかったので、逃げの九素コードを
大域宣言は
'複素数(虚数)計算 '(2017.01.29 済)名称変更 Conplex → Complex
Type Complex
RealPart As Double
ImagPart As Double
End Type
で。ご指摘の通り、n → m への変更済み。
外部リンク[html]:makoto-watanabe.main.jp より、
関数は、Byref As return_type を指定して、参照を返すこともできます。
とあるので、破壊されない戻り値を保管する場所が必要。
局所ルーチンで参照され、破壊されない戻り値の保管場所は、九素コードとして、大域変数を使う。
Dim Shared ComComplexVal As Complex
関数としては単なるLET文を用意した。
Function TekiToComp(Aval As Complex) ByRef As Complex
ComComplexVal.RealPart = Aval.RealPart
ComComplexVal.ImagPart = Aval.ImagPart
TekiToComp = ComComplexVal
End Function
参照側で
ComComplexVal.RealPart = -5.0: ComComplexVal.ImagPart = -0.5
Complex1Val.RealPart = 1.0: Complex1Val.ImagPart = 0.1
Complex2Val.RealPart = 2.0: Complex2Val.ImagPart = 0.2
と定義して
Complex2Val = TekiToComp(Complex1Val)
関数を実行、3つの変数すべてが Complex1Val の値で一致する。
ここで、ComComplexValに適当な値を設定しても、Complex2Val の値が変化しなかった。
参照渡しと言っても、Complex2Valのアドレス(ポインター)をComComplexValのソレに書き換えるのではなかった。
3つの変数の保存領域は独立して存在する。
140
(4): 2017/05/09(火)19:35 ID:YDoq9mLA(1) AAS
ファイル名関係処理でDBCS関連がらみの処理をどうしようか、
と迷っていたら、ファイル名関係のシステムコール(スーパーバイザ参照)ルーチンを見つけた。
細かいことは C:\tool\FreeBASIC\inc\win\shlwapi.BI を見てくれ。
「declare function Path」で検索すると、主要なルーチン名を見つけることができる。
一部 declare sub Pathなんたら()があるから注意してくれ。
「Pathなんたら()」と記載しないと参照できない。
169
(3): 2017/07/31(月)20:53 ID:hUdORezO(1) AAS
アイコン処理。
外部リンク[htm]:www.hi-ho.ne.jp
で、LoadIcon()を使った処理が書かれているが、MSでは、LoadImage()を使うようにとの指示。
苦労の日々だったが、ひょんなことから解決された。

LoadImageゅょ
SendMessageゅょ
のあとに、SetDlgItemText( を入れ
DestroyIcon(ょ
DrawMenuBar(
となる。細かい内容は
外部リンク[html]:www.dotup.org
みてくれ。
使いたい人は適当につ買ってくれ。()内をいれるとはじかれてしまうので、()内はぬいてある。
186
(7): 2017/09/27(水)19:31 ID:dFhB3tDJ(1) AAS
外部リンク[html]:www.hi-ho.ne.jp
「新規プロジェクト」内「テンプレート」に関する情報
Addin の場合
作成された *.Bas ファイルに
「#include "..\..\Inc\Addins.bi"」行がある。これは、
C:\FbEdit\Inc\Addins.bi
を示すらしい(ディスク内にこのファイル以外の同名のファイルが存在しない)。
D:\bas\Projects\ExeType1\ExeType1.bas
なんて別ドライブにて作業している場合には、
「C:\FbEdit\Inc\*.*」を「D:\bas\Inc\*.*」にコピーする必要がある。
作成された *.Bas ファイルに関して、「#include once "windows.bi"」行の後に
「#Include Once "win/commctrl.bi"」を書き加える必要がある。
これで、内容を修正していない状態でのコンパイルは通る。

Console の場合。
そのままでコンパイルは通るが、マルチモジュールにと複数のファイルを登録したら *.O がないとしてコンパイルできなかった。

Tabstrip の場合。
「declare function DlgProc(byval hWnd as HWND,byval uMsg as UINT,byval wParam as WPARAM,byval lParam as LPARAM) as integer」行が
コンパイルエラーで動かない。Declare文に合わせるか Function文に合わせるか、で後者を選択した。
つまり、前述Declear文をコメント行に変更して、
「declare Function DlgProc(byval hDlg as HWND,byval uMsg as UINT,byval wParam as WPARAM,byval lParam as LPARAM) as bool」文を追加した。

MS用語で、コールバック関数、以前使っていた用語では、ユーザー定義ルーチン、なので、
参照側、システム(スーパーバイザー)の定義がどうなっているのかをみないと、正確な内容はわからない。

現在チルドレン(GW?QB?用語)で参照ルーチンを作成できないか、あるいは、DLLファイル化するか、で迷っているところ。
多分、「ユーザー側(プログラム)で、連続した領域を要求したにもかかわらず、システムが確保できなくて、無理に実行して、ハングした」と思われる障害で苦しんでます。
2chスレ:tech
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.030s