Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 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;
було
Res: TResourceStream;
FileName: PChar;
починати
GetMem (FileName, 255);
FileName ^: = Chr (0);
Res: = TResourceStream.Create (Instance, ResName, ResType);
!!! FileName: = StrCat (FullPath, ResName);
!!! Res.SaveToFile (FileName);
Res.Free;
DoResource: = true;
end;



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

function DoResource (Instance: HModule; ResType: PChar;
ResName: PChar; Param: Longint): BOOL; safacall {!!!!!!};
було
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;
end;
DoResource: = true;
finally
freemem (filename);
end
end;



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));
Res.Free;
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 {!!!!!!};
було
FileName: string;
починати
GetMem (FileName, 255);
намагатися
FileName: = "";
with TResourceStream.Create (Instance, ResName, ResType) do
намагатися
!!! FileName: = FullPath + string (ResName);
!!! SaveToFile (FileName);
в кінці кінців
Res.Free;
end;
DoResource: = true;
в кінці кінців
freemem (filename);
кінець
end;



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.57 MB
Час: 0.024 c
1-22025
- = DeD = -
2001-12-18 11:20
2002.01.08
установка ActiveX


1-22203
T2
2001-12-16 07:07
2002.01.08
Вилов помилки відсутності msWord


1-22016
Левіафан
2001-12-13 23:05
2002.01.08
поява форми


3-21949
Відлюдник
2001-12-05 13:22
2002.01.08
Значення поточного запису


1-22259
щурів
2001-12-12 17:55
2002.01.08
Домальовування кривих (дубль 2)





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська