ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

ダウン

リソースをファイルに保存できません 似ている枝を探す


Reyst   (2001-12-16 15:56) [0]

Уважаемые мастера! Пишу на C++, но понадобилось написать программу на Delphi.
В нижеприведенном коде при выполнении "игнорируются" две строки,
помеченные !!!, несмотря на то, что код для них генерируется
(в браузере кода строки отмечены синей точкой, оптимизация отключена).
Вопрос: почему? Подозреваю, что собака зарыта в StrCat,
т.к. не до конца разобрался со строками в Паскале,
несмотря на явное родство PChar с "сишными" строками.
(FullPath - глобальная переменная, PChar)

function DoResource(Instance: HModule; ResType: PChar;
ResName: PChar; Param: Longint): BOOL; stdcall;
VAR
Res: TResourceStream;
FileName:PChar。
始まる
GetMem(FileName, 255);
FileName^ := Chr(0);
Res := TResourceStream.Create(Instance, ResName, ResType);
!!! FileName := StrCat(FullPath, ResName);
!!! Res.SaveToFile(FileName);
無料。
DoResource := true;
終わり



PVR   (2001-12-16 19:35) [1]

function DoResource(Instance: HModule; ResType: PChar;
ResName: PChar; Param: Longint): BOOL; safacall{!!!!!!};
VAR
Res: TResourceStream;
FileName: PChar;
始まる
GetMem(FileName, 255);
try
FileName^ := Chr(0);
with TResourceStream.Create(Instance, ResName, ResType) do
try
!!! FileName := StrCat(FullPath, ResName);
!!! SaveToFile(FileName);
finally
Res.Free;
終わり
DoResource := true;
finally
freemem(filename);
終わり
終わり



MrBeer   (2001-12-16 19:54) [2]

//......
FileName := StrAlloc(512);
Res := TResourceStream.Create(Instance, ResName, ResType)
StrCopy(FileName, FullPath);
StrCat(FileName, ResName);
Res.SaveToFile(StrPas(FileName));
無料。
StrDispose(FileName);
//......



MrBeer   (2001-12-16 19:59) [3]

+ zhelatelno

vmesto StrCat polzovatj StrLCat試します block sdelatj.

宜しくお願いします。



Reyst   (2001-12-16 20:03) [4]

> MrBeer.
А так и было. Просто я на время поиска глюка все убрал по максимуму.
ありがとうございます!



PVR   (2001-12-16 22:22) [5]

function DoResource(Instance: HModule; ResType: PChar;
ResName: PChar; Param: Longint): BOOL; safecall{!!!!!!};
VAR
FileName:string;
始まる
GetMem(FileName, 255);
試します
FileName := "";
with TResourceStream.Create(Instance, ResName, ResType) do
試します
!!! FileName := FullPath+string(ResName);
!!! SaveToFile(FileName);
最後に
無料。
終わり
DoResource := true;
最後に
freemem(filename);
終わり
終わり



ページ: 1 全枝

フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

2階









メモリ:0.82 MB
時間:0.027 c
1-22060
アトレム
2001-12-18 19:18
2002.01.08
Richeditメソッドを挿入


7-22444
VS
2001-09-27 07:14
2002.01.08
プログラムが実行されている場合に自分自身をコピーする方法


1-22186
ShnurO.K。
2001-12-15 23:05
2002.01.08
Alt + Ctrl + Delを押したときにプログラムを非表示にする方法


14-22380
バーテンダー
2001-11-09 10:37
2002.01.08
Muscovites、Win APIリファレンスの販売を見たことがありますか?


14-22379
フェリックス
2001-11-05 19:54
2002.01.08
見せて - そうじゃないの? - あなたが言う!





アフリカーンス語 アルバニア語 Arabic アルメニア語 アゼルバイジャン語 バスク ベラルーシ Bulgarian カタロニア語 中国語(簡体字) 中国語(繁体字) クロアチア チェコ語 デンマーク語 Dutch 英語 エストニア語 タガログ語 Finnish フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 Indonesian アイリッシュ イタリア語 日本語 Korean ラトビア語 リトアニア マケドニア語 Malay マルタ語 Norwegian
ペルシア語 ポリッシュ ポルトガル語 ルーマニア Russian セルビア Slovak スロベニア語 スペイン語 スワヒリ語 Swedish Thai トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский