Տուն
Top.Mail.Ru Moscow
Ֆորում: «Գլխավոր»;
Ընթացիկ արխիվը `2002.01.08;
Բեռնել: [xml.tar.bz2];

Down

Ես չեմ կարող պահել ռեսուրսը ֆայլի մեջ Գտնել նմանատիպ մասնաճյուղեր


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;
Ֆայլի անունը `PChar;
սկսել
GetMem(FileName, 255);
FileName^ := Chr(0);
Res := TResourceStream.Create(Instance, ResName, ResType);
!!! FileName := StrCat(FullPath, ResName);
!!! Res.SaveToFile(FileName);
Res.Free;
DoResource := true;
վերջը.



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);
փորձեք
FileName^ := Chr(0);
with TResourceStream.Create(Instance, ResName, ResType) do
փորձեք
!!! FileName := StrCat(FullPath, ResName);
!!! SaveToFile(FileName);
վերջապես
Res.Free;
վերջ
DoResource := true;
վերջապես
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));
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.
А так и было. Просто я на время поиска глюка все убрал по максимуму.
Thank you!



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

function DoResource(Instance: HModule; ResType: PChar;
ResName: PChar; Param: Longint): BOOL; safecall{!!!!!!};
էր
Ֆայլի անուն. String;
սկսել
GetMem(FileName, 255);
փորձել
FileName := "";
with TResourceStream.Create(Instance, ResName, ResType) do
փորձել
!!! FileName := FullPath+string(ResName);
!!! SaveToFile(FileName);
վերջապես
Res.Free;
վերջը.
DoResource := true;
վերջապես
freemem(filename);
վերջ
վերջը.



Էջեր: 1 ամբողջ ճյուղը

Ֆորում: «Գլխավոր»;
Ընթացիկ արխիվը `2002.01.08;
Բեռնել: [xml.tar.bz2];

Up





Հիշողություն `0.56 ՄԲ
Ժամանակը `0.023 գ
3-21993
Кнопка
2001-12-07 09:23
2002.01.08
Որոնել տվյալների բազայում (Շատ կարեւոր է !!!)


6-22270
ajax
2001-09-15 10:15
2002.01.08
Ես հարց ունեի 3 փոստի մասին:


3-21897
Մաքսբ
2001-11-27 14:33
2002.01.08
DBMS Cache


3-21983
հաղթող
2001-12-06 13:13
2002.01.08
սերիական համարը Delphi 6- ում


1-22034
Alexey_K
2001-12-15 16:35
2002.01.08
Ձեւը





afrikaans ալբանական արաբական հայերեն ադրբեջանական Բասկերի Բելառուսի Բուլղարիայի catalan Չինարեն (պարզեցված) Չինարեն (ավանդական) Խորվաթիայի չեխ դանիերեն հոլանդական Անգլերեն
Էստոնիայի filipino ֆիններեն ֆրանսերեն
galician վրացական գերմանական հունարեն haitian Creole եբրայերեն հինդի հունգարերեն icelandic հայերեն իռլանդական իտալական ճապոնացի Կորեայի Լատվիայի Լիտվայի մակեդոներեն Մալայերեն մալթերեն նորվեգական
պարսկական Լեհաստանի պորտուգալացի ռումինական ռուսական սերբերեն Սլովակիայի Սլովենիայի իսպաներեն սուահիլի շվեդերեն թայերեն թուրքական ուկրաինական ուրդու վիետնամերեն ուելսերեն հայերեն bengali բոսնիերեն
Cebuano Esperanto գուջարաթի հաուսա Hmong Igbo ճավաերեն kannada Khmer Lao լատիներեն մաորի մարաթի մոնղոլական նեպալերեն Punjabi Somali tamil telugu յորուբա
զուլուսերեն
Անգլերեն Французский Немецкий Итальянский Португальский Русский Испанский