請幫我翻譯代碼。我不太了解 C ,但我很了解 Delphi 語法。我想從 MSDN 翻譯代碼:
步驟 6. 添加對 COM 的支持。
static WCHAR g_wszName[] = L"My RLE Encoder";
CFactoryTemplate g_Templates[] =
{
{
g_wszName,
&CLSID_RLEFilter,
CRleFilter::CreateInstance,
NULL,
NULL
}
};
和
int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
我意識到第一行是一個變數。但是翻譯后就不行了。錯誤:
這是一個字串,您將其定義為 WCHAR。
接下來是結構的描述,但我不知道這樣的形式。
最后一行也是一個變數,但它有一個/和兩個值。
總的來說,我有點明白意思,但不明白如何寫。
uj5u.com熱心網友回復:
代碼大致翻譯為Delphi如下:
const
g_wszName: PWideChar = 'My RLE Encoder';
var
g_Templates: array[0..0] of CFactoryTemplate;
...
g_Templates[0].m_Name := g_wszName;
g_Templates[0].m_ClsID := @CLSID_RLEFilter;
g_Templates[0].m_lpfnNew := @CRleFilter.CreateInstance;
g_Templates[0].m_lpfnInit := nil;
g_Templates[0].m_pAMovieSetup_Filter := nil;
和
var
g_cTemplates: Integer;
...
//g_cTemplates := SizeOf(g_Templates) div SizeOf(g_Templates[0]);
g_cTemplates := Length(g_Templates);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/505164.html
