782 __ ___________Часть V. Инструментарий программиста
if (FVData) {
sprintf(subBlockName, "\\StringFileInfo\\%081x\\%s",
*(uint32 *)TransBlock, (LPSTR) "ProctuctVersion");
return FVData ? ::VerQueryValue(FVData, subBlockName,
(void far* far*)sprodVersion, svSize) : false;
} else
return false;
}
bool ProjectRCVersion::GetCopyright(LPSTR& copyright)
{ .
uint • vSize;
TAPointer<char> subBlockName = new char[255];
if (FVData) {
sprintf(subBlockName, "\\StringFileInfo\\%081x\\%s",
* (uint32 *)TransBlock, (LPSTR)-"LegalCopyright") ;
return FVData ? ::VerQueryValue(FVData, subBlockName,
(void far* far*)scopyright, &vSize) : false;
} else * return false;
}
bool ProjectRCVersion::GetDebug(LPSTR& debug) {
uint vSize;
TAPointer<char> subBlockName = new char[255];
if (FVData) {
sprintf(subBlockName, "\\StringFileInfo\\%081x\\%s",
*(uint32 *)TransBlock,(LPSTR)"SpecialBuild") ;
return FVData ? ::VerQueryValue(FVData, subBlockName,
(void far* far*)sdebug, &vSize) : false;
} else return false;
}
// Реализация ResTextAboutDIg
//-——__——__———_————————_——————————
// ResTextAboutDIg
//
// Конструктор и деструктор.
//
ResTextAboutDIg::ResTextAboutDIg(TWindow* parent, TResId resld, TModule* module)
TDialog(parent, resld, module) (
// Можете включить сюда свой код конструктора. }