COM (ATL) - vytvorenie objektu v triede
Zdraviiim.
Vytvoril som si vo VisualStudiu ATL projekt a pridal som do neho 2 vlastne triedy(dedicnost)
#pragma once
#include<iostream>
using namespace std;
#ifndef JOHNY_H
#define JOHNY_H
class trieda1
{
public:
double hodnota;
int stav;
public:
trieda1(){}
trieda1(double hod,int st){hodnota=hod;stav=st;}
~trieda1(){}
inline double spocitaj(double c1,double c2){if (stav=0) return c1+c2;else return (c1+c2+hodnota);}
inline double odpocitaj(double c1,double c2){if (stav=0) return c1-c2;else return (c1-c2+hodnota);}
inline double vynasob(double c1,double c2){if (stav=0) return c1*c2;else return ((c1*c2)+hodnota);}
inline double vydel(double c1,double c2){if (stav=0) return c1/c2;else return ((c1/c2)+hodnota);}
};
#endif
#pragma once
#include<iostream>
#include<string>
#include "trieda1.h"
using namespace std;
#ifndef JOHNY_H_
#define JOHNY_H_
class trieda2 : protected trieda1
{
private:
double vysledok;
public:
trieda2(){}
~trieda2(){}
trie da2(double h,int s,double vys) : trieda1(h,s),vysledok(vys){}
double vykonaj(double c1,double c2,int ind_op);
};
#endif
Po vytvoreni objektu konstruktorom -
trieda2 obj=trieda2(3.14,1,2);
*vysledok=obj.vykonaj(c1,c2 ,ind);
prebehne kompilacia bez problemov ale ak vytvorim vo VisualBasicu objekt a chcem pouzivat funkcie pracujuce s danymi triedami tak zistujem,ze sa mi stracaju data a neviem preco??
Chyba je Runtime error '91' Object variable or With block variable not set.
Diik
Vyzerá to tak, že sa nepodarilo vytvoriť COM objekt. Skontroluj registre, či je správne zaregistrovaný (správna verzia). Najjednoduchšie asi bude vymazať ho z registrov a znova zaregistrovať.