Avatar billede codesmurf Nybegynder
04. februar 2003 - 15:11 Der er 1 kommentar og
1 løsning

TForm som parameter i BCPPB

Hola

Jeg 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?
Avatar billede codesmurf Nybegynder
04. februar 2003 - 15:34 #1
Hmmm....og umiddelbart er void SaveReg::SaveLV(TListView LView); heller ikke tilladt....får en fejl TListView can not start a parameter declaration. Og det hjælper ikke at sætte en int i ind som parameter først.
Kan man slet ikke overføre VCL komponenter som parametre i CPP Builderen som man kan i Delphi eller er det bare mig der har overset noget?
Avatar billede codesmurf Nybegynder
05. februar 2003 - 09:10 #2
Nevermind...jeg prøver at omformulere spørgsmålet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester