Haruyuki Mohri Blog(Delphi)

毛利春幸のブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Idglobal::Sleepと__stdcall Sleep

CodeGearのC++Builder(R) 2007でインディとか使ってると
Sleep()がコンパイルの際
[BCC32 エラー] uMSEND_net.cpp(41): E2015 '_fastcall Idglobal::Sleep(unsigned int) at c:\program files\codegear\rad studio\5.0\include\Indy10\Idglobal.hpp:427' と '__stdcall Sleep(unsigned long) at c:\program files\codegear\rad studio\5.0\include\winbase.h:4285' の区別が曖昧
などと出る
インディにもSleep()があるみたい__stdcall Sleep(unsigned long) のSleepと何が違うんかな?

Idglobal::Sleep(10);
::Sleep(10);


スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2008/12/05(金) 11:09:34|
  2. BCB
  3. | トラックバック:0

TThread内でTADOQueryなどを使う場合

TThreadを使ってスレッド側からTADOQueryを使う場合
いろいろ試したけど
Execute()内からの関数内で
TADOQuery *ado = new TADOQuery(NULL);
ってしたらNGみたい
どっか飛んでいって返ってこなくなった
TADOQuery *ado; ←はExecute()以外で作ったほうがいいみたい
Execute()内で
void __fastcall TTestThread::Execute()
{
    CoInitialize(NULL); //おまじない
    while (! Terminated)
    {
        ado_no_haitta_kansu();
        Sleep(300);
    }
    CoUninitialize; //おまじない
}
とかしてCoInitialize~CoUninitialize;でくくったら
スレッド内でTADOQueryが動いてくれた
本来このCoInitializeってThreadの場合どこに入れるのがベストなんやろ?
この方法でTServiceのプログラムも作ったんで窓以外でもいけるみたい

テーマ:ソフトウェア - ジャンル:コンピュータ

  1. 2008/04/20(日) 01:12:25|
  2. BCB
  3. | トラックバック:0

プロセスを作成できませんでした(Borland Developer Studio 2006)

最悪っ
今日いきなり
普通にProjectを起動しようとしたら
---------------------------
エラー
---------------------------
プロセスを作成できませんでした
コマンドライン: 'C:\Program Files\Borland\BDS\4.0\Bin\ilink32.exe @resp'
エラーメッセージ: '%1 は有効な Win32 アプリケーションではありません。'
---------------------------
OK 詳細(D)>>
---------------------------
やて....
あぁ~最悪 Borlandさんに聞いてもこんな事例は無いとの事
再インストールしか無いみたい...泣

+ $E[20F3E779]{designide100.bpl} ProcessUtil.ProcessUtil.TConsoleProcess.ReportFatalError (Line 598, "..\..\jbutil\ProcessUtil.pas" + 1) + $E
+ $B[20F3E5A5]{designide100.bpl} ProcessUtil.ProcessUtil.TConsoleProcess.Run (Line 549, "..\..\jbutil\ProcessUtil.pas" + 4) + $B
+ $5[22B9A30D]{bcbide100.bpl} CppComIntf.CppComIntf.TCompiler.LinkAll (Line 1643, "CppComIntf.pas" + 176) + $5
+ $3D[22B9809E]{bcbide100.bpl} CppComIntf.CppComIntf.TCompiler.CompileAll (Line 683, "CppComIntf.pas" + 101) + $3D
+ $C[20BA5A00]{coreide100.bpl} ComPrgrs.ComPrgrs.TProgressForm.StartCompile (Line 75, "ComPrgrs.pas" + 5) + $C
+ $6[52058A3B]{vcl100.bpl } Controls.Controls.TControl.WndProc (Line 5143, "Controls.pas" + 83) + $6
+ $6[5205CA19]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7246, "Controls.pas" + 105) + $6
+ $5[5207124D]{vcl100.bpl } Forms.Forms.TCustomForm.WndProc (Line 3284, "Forms.pas" + 125) + $5
+ $6[5205C1A4]{vcl100.bpl } Controls.Controls.TWinControl.MainWndProc (Line 7021, "Controls.pas" + 3) + $6
+ $0[51F60BC0]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11572, "classes.pas" + 8) + $0
+ $6A[77CF8731]{USER32.dll } GetDC + $6A
+ $14A[77CF8811]{USER32.dll } GetDC + $14A
+ $122[77CF89C8]{USER32.dll } GetWindowLongW + $122
+ $A[77CF96C2]{USER32.dll } DispatchMessageA + $A

BCB 2006 コンパイル Error


今再インストールしたけど同じErrorでた泣

テーマ:ソフトウェア - ジャンル:コンピュータ

  1. 2008/03/04(火) 19:44:00|
  2. BCB

簡単なAnsiStringの参照渡し

Edit1の文字の内容"1"→"2"に換えるだけの参照渡しテスト
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     AnsiString stTemp = Edit1->Text;
     this->test(stTemp);
     Edit1->Text = stTemp;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::test(AnsiString &src)
{
     src = StringReplace(src, "1", "2", TReplaceFlags() << rfReplaceAll);
}

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2008/02/13(水) 17:37:21|
  2. BCB

ファイルの更新日付だけを取ってくる

さっきなんとなく作ったんで貼ろ。

TDateTime __fastcall TForm1::fileDateTime(const AnsiString stFileNamePath)
{
int iSearch;
TSearchRec sr;
TDateTime dtTemp = (TDateTime)0;

iSearch = FindFirst(stFileNamePath, faAnyFile - faDirectory - faSysFile, sr);
while ( iSearch == 0 ) //ループとか別にいらんけど...
{
dtTemp = FileDateToDateTime(sr.Time);
iSearch = FindNext(sr);
}
FindClose(sr);
return dtTemp;
}

void __fastcall TForm1::FormCreate(TObject *Sender)
{
TDateTime test = this->fileDateTime(ParamStr(0));
Caption = FormatDateTime("yyyy/mm/dd hh:nn:ss", test);

}

#↑の事しなくても実際はFileAge()って言う関数があるので
#Caption = FormatDateTime("yyyy/mm/dd hh:nn:ss", FileDateToDateTime(FileAge(ParamStr(0))));
#だけで済んでしまう....泣

自分のアプリの時間が窓タイトルに表示される
窓タイトルにファイルの作成時刻を表示する
続きを読む

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2008/01/23(水) 18:47:58|
  2. BCB
次のページ

Profile

Twitter...

最近の記事

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。