TForm som parameter i BCPPB
HolaJeg sidder og er ved at lave en unit til at gemme i registreringsdatabasen. Jeg har en gammel én som jeg engang har lavet i Delphi som jeg så prøver at "oversætte", men har lidt problemer.
void RegSave::OpenForm( TForm AForm )
{
TWindowPlacement Pl; // used for API call
string temp;
temp = "\\";
Pl.length = sizeof(TWindowPlacement);
RootKey = HKEY_CURRENT_USER;
if (!OpenKey((CREGKEY+fSection+temp.c_str()+AForm.Name.c_str()).c_str(), False))
int i = 1;//close();
if ( ReadBinaryData( AForm.Name, &Pl, sizeof( TWindowPlacement ) ) > 0 )
{
SetWindowPlacement( AForm.Handle, &Pl );
SetWindowBounds( AForm );
}
}
Jeg kan sagtens bruge AForm i selve funktionen f.eks. AForm.Name, men når jeg prøver at sende formen videre i systemet med SetWindowsBounds( AForm ) får jeg følgende fejl:
[C++ Error] regsave.cpp(164): E2459 VCL style classes must be constructed using operator new
Linie 164 er SetWindowBounds( AForm );
Hvorfor kan jeg godt ha' void RegSave::OpenForm( TForm AForm ) men ikke bruge den som parameter videre? Hvad skal jeg evt. gøre i stedet?