Я не уверен, что было бы неплохо использовать GUID в качестве имени ресурса.Если вы действительно хотите это сделать, вы можете захотеть «закодировать» его как «нормальный» идентификатор, например,
_CC6C210B_2EAC_4F6C_89E7_0D2FEFFCE278 8000 "MyFile.txt"
Вы просто пишете набор простых подпрограмм для «кодирования» и «декодирования», таких какзначение между обычной строкой GUID и «закодированной» формой.
function DecodeToGUID(const renamedGUID: string): string;
begin
Result := '{' + Copy(ReplaceString(renamedGUID, '_', '-', [rfReplaceAll]), 2, MaxInt)) + '}';
end;
Я оставлю реализацию другой подпрограммы на ваше воображение.; -)
Обновление
Если вы указали идентификатор в кавычках, он должен скомпилироваться с помощью rc.exe.Без кавычек компилятор ресурсов будет воспринимать его как директиву препроцессора и будет сильно запутан:
"{CC6C210B-2EAC-4F6C-89E7-0D2FEFFCE278}" 8000 "MyFile.txt"
Я проверил это с помощью Microsoft rc.exe.Brcc32.exe Embarcadero по-прежнему выдаст ошибку:
Ошибка resrc.rc 1 1: Ожидается имя ресурса или имя типа ресурса
Так что если вы хотите использовать это,или встроенный компилятор ресурсов IDE, вам придется использовать что-то вроде переименованных идентификаторов GUID, как описано выше.