OT: constructor Pascal a C++

Milan Kratochvíl krata.milan na seznam.cz
Středa Květen 25 19:24:05 CEST 2016


Jak to píši z domova, protože v práci nemám přístup na konferenci, tak 
jsem udělal pár chyb.
Krom chybějící dvojtečky a endu místo } jsem ještě špatně napsal jak mám 
definováno MereniA a MereniB
MereniA a MereniB mam definováno v části Public ve formuláři jako 
TMereni* MereniA; a TMereni* MereniB;

Popravdě řečeno zkoušel jsem všechny následující tvary a pokud to 
kompilátor přeložil tak to skončilo s popsanou chybou.
MereniA = new TMereni;
MereniA = new TMereni();
MereniA = new (TMereni());

A dokonce jsem někde našel i zápis, který mi to sice přeložilo ale stále 
chyba při běhu programu.
MereniA = &TMereni::TMereni();

Díky
Milan

Dne 25.5.2016 v 19:05 Karel M napsal(a):
> Zběžně Vám mohu napsat toto: nevím co máte v OnCreate v C++, ale 
> přidal bych závorky tedy:
>
> MereniA = new TMereni();
>
> do .h souboru bych přidal deklaraci_
>
> TMereni MereniA;
>
> v třídě máte dvakrát public, jeden bez dvojtečky, udělal bych to takto:
>
> class TMereni
> {
>   private:
>      int FMereni1;
>      ........
> public:
>    TMereni (void);
>   ~TMereni (void);
>   __property int Mereni1 = { read=FMereni1};
>   .......
>
> Dne 25. května 2016 18:36 Milan Kratochvíl <krata.milan na seznam.cz 
> <mailto:krata.milan na seznam.cz>> napsal(a):
>
>     Zdravím všechny,
>     musím přepsat program z pascalu do c++ protože novější knihovny má
>     dodavatel pouze pro c++. Dělám v c pro jednočipy a tak jsem si
>     myslel že to nebude tak strašný ale narazil jsem docela na začátku.
>     V pascalu mám třídu TMereni, kterou vytvořím v události OnCreate
>     od hlavního formuláře a vše je funkční.
>
>     ... OnCreate...
>     ...
>     MereniA:= TMereni.Create();
>     MereniB:= TMereni.Create();
>     .....
>
>     V C++ mám také vytvoření v OnCreate a překlad je bez chyb, ale běh
>     programu skončí s hláškou access violation právě při volání
>     constructoru.
>     Jen dodám že Mereni mam definováno v části Public ve formuláři
>     jako TMereni* Mereni; a vnitřky funkcí jsou zatím prázdné, protože
>     jsem se dál nedostal.
>
>
>     Nevíte někdo náhodou co by mohlo být blbě? zkoušel jsem hledat ale
>     asi se ggla špatně ptám. Používám Delphi 2007 a C++Builder 2007
>
>     ... OnCreate...
>     ...
>     MereniA = new TMereni;
>     MereniB = new TMereni;
>     .....
>
>
>
>     TMereni = class
>         constructor create();
>         destructor destroy();
>       private
>          FMereni1 : integer;
>          FMereni2 : integer;
>          FMereni3 : integer;
>          FPrepocet1 : real;
>          FPrepocet2 : real;
>          FPrepocet3 : real;
>       public
>          property Mereni1 : integer read FMereni1;
>          property Mereni2 : integer read FMereni2;
>          property Mereni3 : integer read FMereni3;
>          property Prepocet1 : real read FPrepocet1;
>          property Prepocet2 : real read FPrepocet2;
>          property Prepocet3 : real read FPrepocet3;
>          procedure Merime1();
>          procedure Merime2();
>          procedure Merime3();
>          procedure Prepocet();
>     end;
>
>
>
>     class TMereni
>     {
>       public:
>         TMereni (void);
>         ~TMereni (void);
>       private:
>          int FMereni1;
>          int FMereni2;
>          int FMereni3;
>          float FPrepocet1;
>          float FPrepocet2;
>          float FPrepocet3;
>       public
>          __property int Mereni1 = { read=FMereni1};
>          __property int Mereni2 = { read=FMereni2};
>          __property int Mereni3 = { read=FMereni3};
>          __property float Prepocet1 = { read=FPrepocet1};
>          __property float Prepocet2 = { read=FPrepocet2};
>          __property float Prepocet3 = { read=FPrepocet3};
>          void __fastcall Merime1(void);
>          void __fastcall Merime2(void);
>          void __fastcall Merime3(void);
>          void __fastcall Prepocet(void);
>     end;
>
>
>     Díky za nakopnutí.
>     Milan
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20160525/1003170e/attachment.html>


Další informace o konferenci Hw-list