acdk-developer Mailing List for ACDK
Brought to you by:
kommer
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(4) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
2005 |
Jan
(3) |
Feb
(6) |
Mar
|
Apr
|
May
|
Jun
(8) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Roger R. K. <ko...@ar...> - 2005-06-22 15:12:09
|
Hi, >> I would like to ask why the XML in Artefaktur is not based on Apache Xalan-C++ & Xerces-C++ ? These are most popular Java versions of XML realizations and all Java programs which use XML very easy will be = ported to Artefaktur. << ACDK includes two implementation for the org::xml:sax and org:w3c::dom interfaces: expat with a lightweight non-validating parser And libxml2 as validating parser including xpath support. It is also possible to add more implementation for the org::xml:sax and org:w3c::dom, like Xalan/Xerces. There reason, why I preferred to use the Xerces/Xalan implementation: - Code size and license will not allow to include the Xerces/Xalan implementation in the acdk distribution.=20 The current acdk_xml should compile on all platform without any need = to download/compile/link external libraries. - Xerces/Xalan is rather heavy-weight. It provides own String and = Container solution and it would be necessary to copy these strings and container in memory from/to ACDK and Xerces/Xalan String/Container versions. - Xerces-C++ provides its own object C++ hierarchy. It is quite = difficult to wrap an existent object hierarchy with another. Casting from a base object to a derived object (like = Node to Element) will be a quite difficult thing. Wrapping an C++ object hierarchy on a (implicit) C hierarchy is = in the opposite quite easy. I don't say it is impossible to use Xerces/Xalan as XML implementation = and wrap it with ACDK object model, but it has several pitfalls. Roger -----Urspr=FCngliche Nachricht----- Von: acd...@li... [mailto:acd...@li...] Im Auftrag von = Miroslav Nachev Gesendet: Mittwoch, 22. Juni 2005 11:23 An: acd...@li... Betreff: [Acdk-developer] Apache Xalan-C++ & Xerces-C++ in Artefaktur Hi, =20 Best Regards, Miroslav Nachev ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies = from IBM. Find simple to follow Roadmaps, straightforward articles, = informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=3D7477&alloc_id=3D16492&op=3Dclick _______________________________________________ Acdk-developer mailing list Acd...@li... https://lists.sourceforge.net/lists/listinfo/acdk-developer |
From: Miroslav N. <mi...@sp...> - 2005-06-22 09:23:51
|
Hi, I would like to ask why the XML in Artefaktur is not based on Apache Xalan-C++ & Xerces-C++ ? These are most popular Java versions of XML realizations and all Java programs which use XML very easy will be ported to Artefaktur. Best Regards, Miroslav Nachev |
From: Roger R. K. <ko...@ar...> - 2005-06-14 07:31:23
|
Hi, >> I have the following principle question: in case that we would like to load some class dynamically through class name and in case that this class is not included in our EXEcutable file because of compilator optimization how can we load this class? << First you have to put your classes into a DLL. The name of the DLL has to reflect the namespace of your classes (like com::company::mylib::MyClass should reside in com_company_mylib_d.dll). Also add metainfo/extended RTTI to your classes using the acdkmc compiler. After compiling it, put the library into the ACDKHOME/bin path, so that the classloader can find the DLL. Please refer also to: http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_mi_nameservice.html To look, if your classes can be accessed via dynamic loading and invokation You can also make use of the CfgScript language: http://acdk.sourceforge.net/acdk/modules/acdk_core/docs/acdk_cfgscript_hb.ht ml To access the classes dynamically from C++ you have two possiblities: Using Weak invokation: http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_dmi_basics.html#Dynami c%20Method%20Invokation%20(DMI) http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_dmi_use_cpp.html The second possibilty to access your classes in a native C++ way is To use an interface library. Therefore you have to split you C++ classes in a interface part (http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_types_interfaces.html ) and an implementation part. The implementation part implements the interfaces. For both interface and implementation library, generate metainfo with acdkmc. The interfaces classes are in one library, which has to be linked to the The executable. The implementation classes are in another library, which can be loaded at runtime: MyInterface is an interface known by the executable. MyClass implements the interface MyInterface, but will loaded at runtime: RMyInterface iface = (RMyInterface)Class::forName("com::company::mylib::implementation::MyClass") .newInstance(); RString s = Iface->callMethod("asdf", 42); The advantage of this method is, that you can access the methods in a type safe way. Hope this helps, Roger |
From: Miroslav N. <mi...@sp...> - 2005-06-13 10:46:39
|
Dear Roger, Thank you very much for the help. I have the following principle question: in case that we would like to load some class dynamically through class name and in case that this class is not included in our EXEcutable file because of compilator optimization how can we load this class? Best Regards, Miroslav Nachev RRK> Hi, RRK> The problem with the code you send: RRK> class ACDK_CORE_PUBLIC NewObjects : extends acdk::lang::Object RRK> The macro ACDK_CORE_PUBLIC is reserved to acdk_core library to export the RRK> symbols of acdk_core. RRK> When you declare objects in executable, you don't need any export/import RRK> macros: RRK> class NewObjects : extends acdk::lang::Object >> This code can't be runned: >> RStringBuffer sb1 = new StringBuffer("M"); >> RStringBuffer sb2 = sb1->clone(); RRK> This code should even not be compiled. RRK> The clone() method returns a Robject and you should receive an error like RRK> that: RRK> error C2440: 'initializing' : 'class RefHolder<class acdk::lang::Object>' RRK> cannot be converted into 'class RefHolder<class acdk::lang::StringBuffer>'. RRK> You have to cast the Robject result: RRK> RStringBuffer sb2 = (RStringBuffer)sb1->clone(); RRK> See also: RRK> http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_lang_casting.html >> System::out->println(this->getClass()->getName()); >> The result of this is "acdk::lang::Object". RRK> ACDK uses metainfo / extented runtime type information generated by the RRK> acdkmc compiler: RRK> The first step is to modify the header: RRK> ACDK_DECL_CLASS(NewObjects); RRK> class NewObjects : extends acdk::lang::Object { RRK> ACDK_WITH_METAINFO(NewObjects) // THIS is for the metainfo RRK> private: RRK> int myValue; RRK> public: RRK> NewObjects(int intParam); RRK> virtual ~NewObjects(); RRK> static int acdkmain(RStringArray args); RRK> void showValues(); RRK> }; RRK> acdkmc works for complete modules/directories. It also expects an header RRK> file with the exact name of the directory. In this case acdktest1.h. RRK> Then execute the metacompiler acdkmc: RRK> C:\d\artefaktur\extern>ls RRK> acdktest1 acdktest1.rar acdkx_servlet RRK> C:\d\artefaktur\extern>..\acdk\bin\acdkmc_d acdktest1 RRK> I: Analyse file: C:\d\artefaktur\extern\acdktest1\acdktest1.h RRK> I: Analyse file: C:\d\artefaktur\extern\acdktest1\NewObjects.h RRK> C:\d\artefaktur\extern> RRK> This will generate 2 cpp files. Add the files to the project. RRK> Then you will receive the results you expected. RRK> See also: RRK> http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_dmi_server_objects.htm RRK> l RRK> And RRK> http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_mi.html RRK> The corrected version is included in this mail. RRK> Hope this helps. RRK> Roger RRK> -----Ursprüngliche Nachricht----- RRK> Von: acd...@li... RRK> [mailto:acd...@li...] Im Auftrag von Miroslav RRK> Nachev RRK> Gesendet: Freitag, 10. Juni 2005 14:58 RRK> An: Roger Rene Kommer RRK> Cc: acd...@li... RRK> Betreff: Re: AW: [Acdk-developer] Compiling problem RRK> Dear Roger, RRK> Can you check the attached code with the project settings? I try your RRK> suggestions but without success. Just 1st, the 2nd I can't understand. RRK> When I start the same application I found the following problems: RRK> 1. System::out->println(this->getClass()->getName()); RRK> The result of this is "acdk::lang::Object". RRK> I expect to be "NewObjects". RRK> 2. This code can't be runned: RRK> RStringBuffer sb1 = new StringBuffer("M"); RRK> RStringBuffer sb2 = sb1->clone(); RRK> Best Regards, RRK> Miroslav Nachev |
From: Roger R. K. <ko...@ar...> - 2005-06-13 07:11:03
|
Hi, The problem with the code you send: class ACDK_CORE_PUBLIC NewObjects : extends acdk::lang::Object=20 The macro ACDK_CORE_PUBLIC is reserved to acdk_core library to export = the symbols of acdk_core. When you declare objects in executable, you don't need any export/import macros: class NewObjects : extends acdk::lang::Object=20 > This code can't be runned: > RStringBuffer sb1 =3D new StringBuffer("M"); > RStringBuffer sb2 =3D sb1->clone(); This code should even not be compiled. The clone() method returns a Robject and you should receive an error = like that: error C2440: 'initializing' : 'class RefHolder<class = acdk::lang::Object>' cannot be converted into 'class RefHolder<class = acdk::lang::StringBuffer>'. You have to cast the Robject result: RStringBuffer sb2 =3D (RStringBuffer)sb1->clone(); See also: http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_lang_casting.html > System::out->println(this->getClass()->getName()); > The result of this is "acdk::lang::Object". ACDK uses metainfo / extented runtime type information generated by the acdkmc compiler: The first step is to modify the header: ACDK_DECL_CLASS(NewObjects); class NewObjects : extends acdk::lang::Object { ACDK_WITH_METAINFO(NewObjects) // THIS is for the metainfo private: int myValue; =20 public: NewObjects(int intParam); virtual ~NewObjects(); static int acdkmain(RStringArray args); void showValues(); }; acdkmc works for complete modules/directories. It also expects an header file with the exact name of the directory. In this case acdktest1.h. Then execute the metacompiler acdkmc: C:\d\artefaktur\extern>ls acdktest1 acdktest1.rar acdkx_servlet C:\d\artefaktur\extern>..\acdk\bin\acdkmc_d acdktest1 I: Analyse file: C:\d\artefaktur\extern\acdktest1\acdktest1.h I: Analyse file: C:\d\artefaktur\extern\acdktest1\NewObjects.h C:\d\artefaktur\extern> This will generate 2 cpp files. Add the files to the project. Then you will receive the results you expected. See also:=20 http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_dmi_server_objects.= htm l And http://acdk.sourceforge.net/acdk/docs/hb/lang/acdk_hb_mi.html The corrected version is included in this mail. Hope this helps. Roger -----Urspr=FCngliche Nachricht----- Von: acd...@li... [mailto:acd...@li...] Im Auftrag von = Miroslav Nachev Gesendet: Freitag, 10. Juni 2005 14:58 An: Roger Rene Kommer Cc: acd...@li... Betreff: Re: AW: [Acdk-developer] Compiling problem Dear Roger, Can you check the attached code with the project settings? I try your suggestions but without success. Just 1st, the 2nd I can't understand.=20 When I start the same application I found the following problems: 1. System::out->println(this->getClass()->getName()); The result of this is "acdk::lang::Object". I expect to be "NewObjects". 2. This code can't be runned: RStringBuffer sb1 =3D new StringBuffer("M"); RStringBuffer sb2 =3D sb1->clone(); =20 Best Regards, Miroslav Nachev |
From: Miroslav N. <mi...@sp...> - 2005-06-10 12:58:37
|
Dear Roger, Can you check the attached code with the project settings? I try your suggestions but without success. Just 1st, the 2nd I can't understand. When I start the same application I found the following problems: 1. System::out->println(this->getClass()->getName()); The result of this is "acdk::lang::Object". I expect to be "NewObjects". 2. This code can't be runned: RStringBuffer sb1 = new StringBuffer("M"); RStringBuffer sb2 = sb1->clone(); Best Regards, Miroslav Nachev RRK> Hi, >> ... RRK> ...obj : error LNK2001: unresolved external symbol "__declspec(dllimport) RRK> const MyClass::`vftable'{for `acdk::lang::InterfaceBase'}" RRK> (__imp_??_7MyClass@@6BInterfaceBase@lang@acdk@@@) >> ... RRK> ...\include\acdk\lang\sys\refholder3inl.h(18) : warning C4541: RRK> 'dynamic_cast' used on polymorphic type 'class acdk::lang::Object' with RRK> /GR-; unpredictable behavior may result >> ... RRK> 1. RRK> You have to enable RTTI in your compiler settings, otherwise nothing will RRK> work - even if you eventually able to link the executable. RRK> This aplies to all compiler on all platforms. RRK> 2. RRK> On Windows you have to export classes/methods from you DLL you want to use RRK> them outside the DLL. RRK> Create a header in your library: RRK> #ifndef mylib_Config_h RRK> #define mylib_Config_h RRK> #include <acdk.h> RRK> #if defined(IN_MYLIB_LIB) RRK> # define ACDK_MYLIB_PUBLIC ACDK_DLL_EXPORT RRK> #else RRK> # define ACDK_MYLIB_PUBLIC ACDK_DLL_IMPORT RRK> #endif RRK> #endif //mylib_Config_h RRK> Now for the class inside your mylib: RRK> class ACDK_MYLIB_PUBLIC MyClass RRK> : extends acdk::lang::Object RRK> { RRK> // ... RRK> }; RRK> In the compiler settings for the mylib.dll project you have to define RRK> IN_MYLIB_LIB. RRK> In the compiler settings for the executable, which make use of mylib.dll, RRK> you don't need to define this symbol. RRK> Hope this helps, RRK> Roger Rene Kommer RRK> -----Ursprüngliche Nachricht----- RRK> Von: acd...@li... RRK> [mailto:acd...@li...] Im Auftrag von Miroslav RRK> Nachev RRK> Gesendet: Donnerstag, 9. Juni 2005 12:37 RRK> An: acd...@li... RRK> Betreff: [Acdk-developer] Compiling problem RRK> Hi, RRK> Yesterday everything works OK, but today without any changes I have the RRK> following errors: RRK> ...obj : error LNK2001: unresolved external symbol "__declspec(dllimport) RRK> const MyClass::`vftable'{for `acdk::lang::InterfaceBase'}" RRK> (__imp_??_7MyClass@@6BInterfaceBase@lang@acdk@@@) RRK> ...obj : error LNK2001: unresolved external symbol "__declspec(dllimport) RRK> const MyClass::`vftable'" (__imp_??_7MyClass@@6B@) ...obj : error LNK2001: RRK> unresolved external symbol "__declspec(dllimport) const RRK> MyClass::`vftable'{for `acdk::lang::ObjectBase'}" RRK> (__imp_??_7MyClass@@6BObjectBase@lang@acdk@@@) RRK> ...obj : error LNK2001: unresolved external symbol "__declspec(dllimport) RRK> const MyClass::`vbtable'" (__imp_??_8MyClass@@7B@) ...obj : error LNK2001: RRK> unresolved external symbol "__declspec(dllimport) public: void __thiscall RRK> MyClass::`vbase destructor'(void)" (__imp_??_DMyClass@@QAEXXZ) RRK> Debug/acdktest1.exe : fatal error LNK1120: 5 unresolved externals Error RRK> executing link.exe. RRK> acdktest1.exe - 6 error(s), 413 warning(s) RRK> Also I have too many warning like this: RRK> ...\include\acdk\lang\sys\heapframe.h(108) : warning C4251: '_top' : class RRK> 'SysRefHolder<class acdk::lang::sys::HeapFrame>' needs to have dll-interface RRK> to be used by clients of class 'acdk::lang::sys::HeapFrame' RRK> ...\include\acdk\lang\sys\heapframe.h(109) : warning C4251: '_name' : class RRK> 'acdk::lang::sys::core_string' needs to have dll-interface to be used by RRK> clients of class 'acdk::lang::sys::HeapFrame' RRK> ...\include\acdk\lang\sys\core_string.h(39) : see declaration of RRK> 'core_string' RRK> ...\include\acdk\lang\sys\allocator.h(97) : warning C4251: 'name' : class RRK> 'acdk::lang::sys::core_string' needs to have dll-interface to be used by RRK> clients of class 'acdk::lang::sys::AllocatorInfo' RRK> ...\include\acdk\lang\dmi\metainfo.h(194) : warning C4800: 'int' : forcing RRK> value to bool 'true' or 'false' (performance warning) RRK> ...\include\acdk\lang\sys\refholder3inl.h(18) : warning C4541: RRK> 'dynamic_cast' used on polymorphic type 'class acdk::lang::Object' with RRK> /GR-; unpredictable behavior may result RRK> ...\include\acdk\lang\sys\refholder3inl.h(67) : see reference to function RRK> template instantiation 'class acdk::lang::String *__cdecl dmi_cast(class RRK> acdk::lang::ObjectBase *)' being compiled RRK> Any help? RRK> Best Regards, RRK> Miroslav Nachev RRK> ------------------------------------------------------- RRK> This SF.Net email is sponsored by: NEC IT Guy Games. How far can you RRK> shotput a projector? How fast can you ride your desk chair down the office RRK> luge track? RRK> If you want to score the big prize, get to know the little guy. RRK> Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20 RRK> _______________________________________________ RRK> Acdk-developer mailing list RRK> Acd...@li... RRK> https://lists.sourceforge.net/lists/listinfo/acdk-developer RRK> ------------------------------------------------------- RRK> This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput RRK> a projector? How fast can you ride your desk chair down the office luge track? RRK> If you want to score the big prize, get to know the little guy. RRK> Play to win an NEC 61" plasma display: http://www.necitguy.com/?r RRK> _______________________________________________ RRK> Acdk-developer mailing list RRK> Acd...@li... RRK> https://lists.sourceforge.net/lists/listinfo/acdk-developer |
From: Roger R. K. <ko...@ar...> - 2005-06-10 07:05:27
|
Hi, > ... ...obj : error LNK2001: unresolved external symbol = "__declspec(dllimport) const MyClass::`vftable'{for `acdk::lang::InterfaceBase'}" (__imp_??_7MyClass@@6BInterfaceBase@lang@acdk@@@) > ... ...\include\acdk\lang\sys\refholder3inl.h(18) : warning C4541: 'dynamic_cast' used on polymorphic type 'class acdk::lang::Object' with /GR-; unpredictable behavior may result > ... 1. You have to enable RTTI in your compiler settings, otherwise nothing = will work - even if you eventually able to link the executable. This aplies to all compiler on all platforms. 2. On Windows you have to export classes/methods from you DLL you want to = use them outside the DLL. Create a header in your library: #ifndef mylib_Config_h #define mylib_Config_h #include <acdk.h> #if defined(IN_MYLIB_LIB) # define ACDK_MYLIB_PUBLIC ACDK_DLL_EXPORT #else # define ACDK_MYLIB_PUBLIC ACDK_DLL_IMPORT #endif #endif //mylib_Config_h Now for the class inside your mylib: class ACDK_MYLIB_PUBLIC MyClass : extends acdk::lang::Object { // ... }; In the compiler settings for the mylib.dll project you have to define IN_MYLIB_LIB. In the compiler settings for the executable, which make use of = mylib.dll, you don't need to define this symbol. Hope this helps, Roger Rene Kommer -----Urspr=FCngliche Nachricht----- Von: acd...@li... [mailto:acd...@li...] Im Auftrag von = Miroslav Nachev Gesendet: Donnerstag, 9. Juni 2005 12:37 An: acd...@li... Betreff: [Acdk-developer] Compiling problem Hi, Yesterday everything works OK, but today without any changes I have = the following errors: ...obj : error LNK2001: unresolved external symbol = "__declspec(dllimport) const MyClass::`vftable'{for `acdk::lang::InterfaceBase'}" (__imp_??_7MyClass@@6BInterfaceBase@lang@acdk@@@) ...obj : error LNK2001: unresolved external symbol = "__declspec(dllimport) const MyClass::`vftable'" (__imp_??_7MyClass@@6B@) ...obj : error = LNK2001: unresolved external symbol "__declspec(dllimport) const MyClass::`vftable'{for `acdk::lang::ObjectBase'}" (__imp_??_7MyClass@@6BObjectBase@lang@acdk@@@) ...obj : error LNK2001: unresolved external symbol = "__declspec(dllimport) const MyClass::`vbtable'" (__imp_??_8MyClass@@7B@) ...obj : error = LNK2001: unresolved external symbol "__declspec(dllimport) public: void = __thiscall MyClass::`vbase destructor'(void)" (__imp_??_DMyClass@@QAEXXZ) Debug/acdktest1.exe : fatal error LNK1120: 5 unresolved externals Error executing link.exe. acdktest1.exe - 6 error(s), 413 warning(s) Also I have too many warning like this: ...\include\acdk\lang\sys\heapframe.h(108) : warning C4251: '_top' : = class 'SysRefHolder<class acdk::lang::sys::HeapFrame>' needs to have = dll-interface to be used by clients of class 'acdk::lang::sys::HeapFrame' ...\include\acdk\lang\sys\heapframe.h(109) : warning C4251: '_name' : = class 'acdk::lang::sys::core_string' needs to have dll-interface to be used by clients of class 'acdk::lang::sys::HeapFrame' ...\include\acdk\lang\sys\core_string.h(39) : see declaration of 'core_string' ...\include\acdk\lang\sys\allocator.h(97) : warning C4251: 'name' : = class 'acdk::lang::sys::core_string' needs to have dll-interface to be used by clients of class 'acdk::lang::sys::AllocatorInfo' ...\include\acdk\lang\dmi\metainfo.h(194) : warning C4800: 'int' : = forcing value to bool 'true' or 'false' (performance warning) ...\include\acdk\lang\sys\refholder3inl.h(18) : warning C4541: 'dynamic_cast' used on polymorphic type 'class acdk::lang::Object' with /GR-; unpredictable behavior may result ...\include\acdk\lang\sys\refholder3inl.h(67) : see reference to = function template instantiation 'class acdk::lang::String *__cdecl dmi_cast(class acdk::lang::ObjectBase *)' being compiled Any help? Best Regards, Miroslav Nachev ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the = office luge track? If you want to score the big prize, get to know the little guy. =20 Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=3D20 _______________________________________________ Acdk-developer mailing list Acd...@li... https://lists.sourceforge.net/lists/listinfo/acdk-developer |
From: Miroslav N. <mi...@sp...> - 2005-06-09 10:37:34
|
Hi, Yesterday everything works OK, but today without any changes I have the following errors: ...obj : error LNK2001: unresolved external symbol "__declspec(dllimport) const MyClass::`vftable'{for `acdk::lang::InterfaceBase'}" (__imp_??_7MyClass@@6BInterfaceBase@lang@acdk@@@) ...obj : error LNK2001: unresolved external symbol "__declspec(dllimport) const MyClass::`vftable'" (__imp_??_7MyClass@@6B@) ...obj : error LNK2001: unresolved external symbol "__declspec(dllimport) const MyClass::`vftable'{for `acdk::lang::ObjectBase'}" (__imp_??_7MyClass@@6BObjectBase@lang@acdk@@@) ...obj : error LNK2001: unresolved external symbol "__declspec(dllimport) const MyClass::`vbtable'" (__imp_??_8MyClass@@7B@) ...obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall MyClass::`vbase destructor'(void)" (__imp_??_DMyClass@@QAEXXZ) Debug/acdktest1.exe : fatal error LNK1120: 5 unresolved externals Error executing link.exe. acdktest1.exe - 6 error(s), 413 warning(s) Also I have too many warning like this: ...\include\acdk\lang\sys\heapframe.h(108) : warning C4251: '_top' : class 'SysRefHolder<class acdk::lang::sys::HeapFrame>' needs to have dll-interface to be used by clients of class 'acdk::lang::sys::HeapFrame' ...\include\acdk\lang\sys\heapframe.h(109) : warning C4251: '_name' : class 'acdk::lang::sys::core_string' needs to have dll-interface to be used by clients of class 'acdk::lang::sys::HeapFrame' ...\include\acdk\lang\sys\core_string.h(39) : see declaration of 'core_string' ...\include\acdk\lang\sys\allocator.h(97) : warning C4251: 'name' : class 'acdk::lang::sys::core_string' needs to have dll-interface to be used by clients of class 'acdk::lang::sys::AllocatorInfo' ...\include\acdk\lang\dmi\metainfo.h(194) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) ...\include\acdk\lang\sys\refholder3inl.h(18) : warning C4541: 'dynamic_cast' used on polymorphic type 'class acdk::lang::Object' with /GR-; unpredictable behavior may result ...\include\acdk\lang\sys\refholder3inl.h(67) : see reference to function template instantiation 'class acdk::lang::String *__cdecl dmi_cast(class acdk::lang::ObjectBase *)' being compiled Any help? Best Regards, Miroslav Nachev |
From: Wolfgang K. <wol...@gm...> - 2005-02-14 22:02:04
|
> Ich habe in den letzten Jahren das acdkx_orb-Paket nicht besonders > vorangetrieben (so ist DmiProxy-Konzept noch nicht vollstaendig > implementiert), da CORBA in meinem beruflichen Umfeld kaum/keine Rolle mehr > spielt. Tja, so unterscheiden sich die Erfahrungen. >:-> Ich bin (nicht als Entwickler, sondern als "industrieller Anwendungspartner") gerade im "Endstadium" (im doppelten Sinn) eines gr=F6=DFeren Projekts, bei dem "nat=FCrlich" sch=F6n "trendkonform" alles in Java, mit "Web Services" und HTML als Benutzeroberfl=E4che gemacht wurde - Resultat: Denkbar ungeeignet, weil: - viel zu lange Entwicklungszeit f=FCr die Prototypen dank Java im Vergleich zu z.B. Python - grotesker Aufwand und eher =E4rmliche Funktionalit=E4t f=FCr die Implementierung der Oberfl=E4chen dank Struts/HTML gegen=FCber z.B. wxWidgets - de facto keine M=F6glichkeit zur Anbindung von "loosely connected" (meistens off-line) Clients, was in dem Anwendungsumfeld, um das es ging, eigentlich essentiel gewesen w=E4re - keine M=F6glichkeit zur Server->Client Benachrichtigung, also st=E4ndig pollen (Software-Steinzeit) - =DCbertragung nennenswerter Datenmengen (es ging z.B. um Echtzeit-Me=DFdaten von Anlagen) verschlingt utopische Ressourcen - und last not least: wirklich _=FCberall_ jede Menge Web-Server installieren/konfigurieren/administrieren zu m=FCssen, nur um gew=F6hnliche IPC/RPC zu machen ist alles andere als das, wovon der durchschnittliche EDV-Administrator, der im realen Leben damit besch=E4ftigt ist, produktive Anwendungen am Laufen zu halten, tr=E4umt. Endergebnis: Alles f=FCr die M=FClltonne gearbeitet, nur weil sich die "Szenekids" mal so richtig "austoben" wollten, anstatt sich an den konkreten Anforderungen der Realit=E4t zu orientieren. Nun habe ich mir im Laufe des Projekts ein Bischen was angelesen und r=FCckblickend w=E4ren demzufolge z.B. Python (zumindest f=FCr den Prototypen und um mehr ging es nicht), wxWidgets und Corba ideal gewesen. MfG Wolfgang Keller |
From: Roger R. K. <ko...@ar...> - 2005-02-13 18:52:27
|
=20 Hi, >> Welchen ORB verwenden Sie eigentlich f=FCr ACDK? Nach dem Handbuch = k=F6nnte man fast meinen, es w=E4re ein Eigenbau - warum nicht Mico? Der d=FCrfte = doch schon so ziemlich alles haben, was man braucht... << Es ist tatsaechlich ein Eigenbau.=20 Unter org::omg::* sind die offiziellen Interfaces definiert. Der eigentliche ORB wurde unter acdkx::orb implementiert. Es gab mehrere Gruende einen eigenen ORB zu bauen: - Das offizielle IDL/C++ Mapping ist - um es vorsichtig auszudruecken - verbesserungswuerdig. Das Mapping basiert in acdkx_orb auf die ACDK Standardtypen (wie z.b. String, statt char*) - IDL zu C++ ist nicht notwendig. Mit den von acdkmc generierten Meta-Informationen hat man=20 schon alle Informationen. Es gibt zwar fuer acdkmc auch ein Attribut-Plugin = (ACDK_CLASSATTRIBUTE(acdkx.orb.mc.OrbDispatchAttribute())) mit dem man statische Skeletons generieren kann (die dann in die *metainf_ext.cpp geschrieben werden), aber das ist nicht umbedingt notwendig. Auf der anderen Seite gibt es ein Tool acdkorbidl um aus den bestehen = ACDK Klassen-Metainformationen IDL-Dateien zu generieren. Mit diesen kann man dann klassische C++- oder Java-Stubs fuer = IDL-Kompiler generieren. - Einbettung in das DMI-Konzept. Die Klasse acdkx::orb::CorObject implementiert einen generischen DMI Client, so dass man=20 Objekte ueber CORBA/IIOP ansprechen kann, ohne dass man dies im eigentlichen Code sieht. - Erweiterung des CORBA/IIOP-Konzept. Das Protokoll ist auf der einen = Seite sehr komplex, auf der anderen Seite fehlen einige Dinge, wie polymorphe Funktionen. Hier wollte ich ueber IIOP = auch ein propriaeteres Protokoll realisieren, das remote-Aufrufe fuer alle ACDK-Klassen (und nicht nur Interfaces) realisiert. - Urspruenglich wurde acdkx_orb tatsaechlich als Bridge zwischen = Java-ORBs, C++-ORBs und ACDK entwickelt, das eigentliche IIOP-Prokoll sollte so einigermassen kompatibel sein. Ich habe in den letzten Jahren das acdkx_orb-Paket nicht besonders vorangetrieben (so ist DmiProxy-Konzept noch nicht vollstaendig implementiert), da CORBA in meinem beruflichen Umfeld kaum/keine Rolle = mehr spielt. Ich hatte sogar ueberlegt, ein eigenes - wesentlich schlankeres und auf = das DMI-Konzept von ACDK zugeschnittenes - Remoting-Protokoll zu schreiben, = so dass sowohl im Code des Clients wie des Servers es keinerlei = Unterschiede mehr macht, ob nun die Aufrufe remote oder lokal ausgefuehrt werden. Roger Rene Kommer -----Urspr=FCngliche Nachricht----- Von: acd...@li... [mailto:acd...@li...] Im Auftrag von = Wolfgang Keller Gesendet: Sonntag, 13. Februar 2005 18:50 An: acd...@li... Betreff: [Acdk-developer] Corba ORB in ACDK? Hallo, und ich erlaube mir wieder, in deutsch zu posten... Welchen ORB verwenden Sie eigentlich f=FCr ACDK? Nach dem Handbuch = k=F6nnte man fast meinen, es w=E4re ein Eigenbau - warum nicht Mico? Der d=FCrfte = doch schon so ziemlich alles haben, was man braucht... MfG Wolfgang Keller ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid = reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id=14396&op=3Dick _______________________________________________ Acdk-developer mailing list Acd...@li... https://lists.sourceforge.net/lists/listinfo/acdk-developer |
From: Wolfgang K. <wol...@gm...> - 2005-02-13 17:50:25
|
Hallo, und ich erlaube mir wieder, in deutsch zu posten... Welchen ORB verwenden Sie eigentlich f=FCr ACDK? Nach dem Handbuch k=F6nnte man fast meinen, es w=E4re ein Eigenbau - warum nicht Mico? Der d=FCrfte doch schon so ziemlich alles haben, was man braucht... MfG Wolfgang Keller |
From: Roger R. K. <ko...@ar...> - 2005-02-01 14:42:44
|
Hallo, Ich habe auch nochmals in den Quellen und docs von Python gestoebert. Es scheint wirklich grundsaetzlich moeglich zu sein. Wenn ich die Tage Zeit habe, werde ich mich mal daran versuchen. Gruesse, Roger -----Urspr=FCngliche Nachricht----- Von: acd...@li... [mailto:acd...@li...] Im Auftrag von = Wolfgang Keller Gesendet: Dienstag, 1. Februar 2005 14:46 An: acd...@li... Betreff: Re: [Acdk-developer] Server-seitige Anwendungen in Python mit = ACDK? >> Ich bin mir nicht sicher, ob es auch m=F6glich ist (bzw. wie = schwierig=20 >> das ist), acdk_python so zu erweitern, dass Python-Objekte auch als=20 >> DMI-Server Objekte fungieren k=F6nnen. Wenn Python auf C-Ebene die=20 >> M=F6glichkeit hat, Typ-Informationen (inklusive Methodendefinitionen) = >> abzufragen, sollte es m=F6glich sein. Nach ein Bischen herumsuchen scheint mir, da=DF das inspect-Modul diesbez=FCglich eine ganze Menge M=F6glichkeiten bietet: http://www.python.org/doc/current/lib/module-inspect.html Leider geht das =FCber meine Kenntnisse weit hinaus... MfG Wolfgang Keller ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting = Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ Acdk-developer mailing list Acd...@li... https://lists.sourceforge.net/lists/listinfo/acdk-developer |
From: Wolfgang K. <wol...@gm...> - 2005-02-01 13:46:24
|
>> Ich bin mir nicht sicher, ob es auch m=F6glich ist (bzw. wie schwierig das >> ist), acdk_python so zu erweitern, dass Python-Objekte auch als DMI-Server >> Objekte fungieren k=F6nnen. Wenn Python auf C-Ebene die M=F6glichkeit hat, >> Typ-Informationen (inklusive Methodendefinitionen) abzufragen, sollte es >> m=F6glich sein. Nach ein Bischen herumsuchen scheint mir, da=DF das inspect-Modul diesbez=FCglich eine ganze Menge M=F6glichkeiten bietet: http://www.python.org/doc/current/lib/module-inspect.html Leider geht das =FCber meine Kenntnisse weit hinaus... MfG Wolfgang Keller |
From: Wolfgang K. <wol...@gm...> - 2005-02-01 12:00:07
|
> Ich bin mir nicht sicher, ob es auch m=F6glich ist (bzw. wie schwierig das > ist), acdk_python so zu erweitern, dass Python-Objekte auch als DMI-Server > Objekte fungieren k=F6nnen. Wenn Python auf C-Ebene die M=F6glichkeit hat, > Typ-Informationen (inklusive Methodendefinitionen) abzufragen, sollte es > m=F6glich sein. Da ich als kleiner Scripting-Dilettant Python ausgerechnet deshalb verwende, weil es mir das "Herumw=FChlen" in solchen "Innereien" erspart, kann ich dazu nix sagen. Mein Wissen endet damit, da=DF sich C(++)-Objekte, wenn sie denn einmal als Python-Module eingewickelt sind, genauso wie Python-Objekte verhalten. D.h. man kann sie von Python aus auch zur Laufzeit zu allem m=F6glichen befragen. MfG Wolfgang Keller |
From: Wolfgang K. <wol...@gm...> - 2005-01-24 14:20:04
|
>> Wenn ich die Dokumentation richtig verstanden habe, erlaubt ACDK nicht, >> serverseitige Anwendungen in Python zu implementieren? > Ich bin mir nicht sicher, ob es auch m=F6glich ist (bzw. wie schwierig das > ist), acdk_python so zu erweitern, dass Python-Objekte auch als DMI-Server > Objekte fungieren k=F6nnen. Genau darum geht es. Ich will kein C++ lernen oder gar benutzen m=FCssen, um Server-Anwendungen zu implementieren. >;-> Leider gibt es anscheinend keine vern=FCnftigen Frameworks f=FCr Python-Serveranwendungen. PEAK ist alles andere als vollst=E4ndig, stabil (vom Entwicklungsproze=DF her gesehen) und gut dokumentiert. Zope ist reines Web-Zeugs, und 99,x% aller realen Unternehmensanwendungen haben nunmal mit http nichts am Hut. MfG Wolfgang Keller |
From: Roger R. K. <ko...@ar...> - 2005-01-24 13:01:02
|
Hallo, >> Wenn ich die Dokumentation richtig verstanden habe, erlaubt ACDK = nicht, serverseitige Anwendungen in Python zu implementieren? Ich vermute die Dokumentation kommt aus dem Umfeld DMI-Server/Client. = Das hat nichts mit der klassischen Definition von serverseitige Anwendungen = zu tun. Ein DMI-Client ist eine Sprachumgebung, die ACDK DMI-Server-Objekte verwenden kann, als waeren sie (mehr oder minder) die eigenene Objecte. Das Beispiel aus der Doku demonstriert dies: =20 def foo(string1, string2): sb =3D acdk.Object("acdk/lang/StringBuffer", string1) sb.append(string2) return sb.toString() acdk.peek_static("acdk/lang/System", "out").println(foo("Hello Python", = " from ACDK")) Innerhalb von foo wird DMI-Server Object (in diesem Falle in ACDK C++ implementiert) und verwendet es, als waere es ein Python-Object. Das "mehr oder minder" beschreibt den Grad der Integration. Der Aufruf = von nicht-statischen methoden geht sehr transparent, bei Zugriff z.B. auf member-Variablen musste ich jedoch Hilfsmethoden, wie peek_static, einf=FChren. Aber nicht nur in C++ implementierten Objekte koennen innerhalb von = Python als DMI-Server verwendet werden, sondern auch COM- (nur Windows), Java-, CORBA-, oder CfgScript-Objekte. Hier ein snipped f=FCr ein COM-Objekt: import acdk classloader =3D acdk.Object("acdk/lang/ClassLoader") classloader.findClass("acdkx/com/ComObject") =20 word =3D acdk.invoke_static("acdkx/com/ComObject", "New", = "Word.Application") word.poke("Visible", 1) doc =3D word.peek("Documents").Add() sel =3D word.peek("ActiveWindow").peek("Selection") sel.TypeText("This is ") sel.peek("Font").poke("Bold", 1) sel.TypeText("ACDK") sel.peek("Font").poke("Bold", 0) sel.TypeText(" instrumenting Word through acdk_python") acdk.invoke_static("acdk/lang/Thread", "sleep", 3000) Die beste Integration in ACDK hat zur Zeit CfgScript (ist im Modul = acdk_core enthalten). Innerhalb CfgScript lassen sich sogar=20 Innerhalb einer Scriptsprache C++ Klassen ableiten (inklusive = =DCberschreiben von virtuellen Methoden) und Interfaces implementieren, die innerhalb = von C++ (hier sozusagen der DMI-Client) verwendet werden k=F6nnen, als = w=E4ren sie native C++-Objekte. Ich bin mir nicht sicher, ob es auch m=F6glich ist (bzw. wie schwierig = das ist), acdk_python so zu erweitern, dass Python-Objekte auch als = DMI-Server Objekte fungieren k=F6nnen. Wenn Python auf C-Ebene die M=F6glichkeit = hat, Typ-Informationen (inklusive Methodendefinitionen) abzufragen, sollte es m=F6glich sein. Gr=FCsse, Roger Rene Kommer -----Urspr=FCngliche Nachricht----- Von: acd...@li... [mailto:acd...@li...] Im Auftrag von = Wolfgang Keller Gesendet: Montag, 24. Januar 2005 09:53 An: acd...@li... Betreff: [Acdk-developer] Server-seitige Anwendungen in Python mit ACDK? Hallo, ich erlaube mir mal, auf deutsch zu posten. :-) Wenn ich die Dokumentation richtig verstanden habe, erlaubt ACDK nicht, serverseitige Anwendungen in Python zu implementieren? Danke im Voraus, MfG Wolfgang Keller ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting = Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ Acdk-developer mailing list Acd...@li... https://lists.sourceforge.net/lists/listinfo/acdk-developer |
From: Wolfgang K. <wol...@gm...> - 2005-01-24 08:53:02
|
Hallo, ich erlaube mir mal, auf deutsch zu posten. :-) Wenn ich die Dokumentation richtig verstanden habe, erlaubt ACDK nicht, serverseitige Anwendungen in Python zu implementieren? Danke im Voraus, MfG Wolfgang Keller |
From: Roger R. K. <ko...@ar...> - 2003-10-03 09:18:00
|
Hi, AAL is an experimental unit containing some code around the Artefaktur Aspect Language. I did not include it into the standard distribution, but can be found in the CVS repository. To compile acdkx_orb simply goto into the acdkx_orb directory and compile it via make -f acdkx_orb.sunos-gcc Roger -----Original Message----- From: acd...@li... [mailto:acd...@li...] On Behalf Of Phil Chen Sent: Wednesday, October 01, 2003 8:00 PM To: Acd...@li... Subject: [Acdk-developer] ACDK 4.02 installation problem I have downloaded the latest ACDK and got following error after I typed in "gmake acdk_all.sunos-gcc install". -------------------------Console output-------------------------- ... installcfgs target has no cfg gmake[2]: Leaving directory `/export/home/pchen/acdk/acdk-4.02/acdkx_orb' /bin/sh: aal: does not exist gmake[1]: *** [install] Error 1 gmake[1]: Leaving directory `/export/home/pchen/acdk/acdk-4.02' gmake: *** [install] Error 2 ---------------------------------end------------------------------------ -- My platform is Solaris. I also noticed that acdk_aal package doesn't seem to be there! Anyone knows what is happening here? Thanks! --Phil |
From: Phil C. <pc...@pr...> - 2003-10-01 17:59:34
|
I have downloaded the latest ACDK and got following error after I typed = in "gmake acdk_all.sunos-gcc install". =20 -------------------------Console output-------------------------- ... installcfgs target has no cfg gmake[2]: Leaving directory = `/export/home/pchen/acdk/acdk-4.02/acdkx_orb' /bin/sh: aal: does not exist gmake[1]: *** [install] Error 1 gmake[1]: Leaving directory `/export/home/pchen/acdk/acdk-4.02' gmake: *** [install] Error 2 ---------------------------------end-------------------------------------= - =20 My platform is Solaris. I also noticed that acdk_aal package doesn't = seem to be there! =20 Anyone knows what is happening here? =20 Thanks! =20 --Phil =20 |
From: Benjamin S. <st...@gm...> - 2003-08-02 14:25:09
|
Hi, thank you for the excellent sample! The sample doesn't compile with the latest release(::acdk::lang::dmi::MiMiOrgPoly), so I just grabbed the latest cvs version. I'll test it later this evening with complex java objects. Benjamin |
From: Roger R. K. <ko...@ar...> - 2003-08-01 12:44:49
|
Hi, > > I'm currently playing around with acdk. > > > > I'm stuck at the serialization tests. Could you give me a simple > > example of how to > > - read objects from a java file > > - save the values as variables > > > > I don't need to do an object mapping. I just have to be > able to read > > the file. > > Have a look at the unit test for the java serialization: > acdk_java/test/acdk/java/serialization/acdk_java_serialization > _Basics_Te > st.cpp I've just find a bug in handling unicode character (like umlauts) in the java compatible serialization. In the current version it will not work expected. I will have fixed this in the next snapshot. Roger |
From: Roger R. K. <ko...@ar...> - 2003-08-01 09:44:03
|
Hi, > I'm currently playing around with acdk. > > I'm stuck at the serialization tests. Could you give me a > simple example of how to > - read objects from a java file > - save the values as variables > > I don't need to do an object mapping. I just have to be able > to read the file. Have a look at the unit test for the java serialization: acdk_java/test/acdk/java/serialization/acdk_java_serialization_Basics_Te st.cpp If you want to serialize own classes from/to java, you have to create a corresponding ACDK class, derived from acdk::io::Serializable and with metainfo (the *_metainf_base.cpp and _metainf_ext.cpp). It is also important, that the member has the same declaration order and names as the Java class, otherwise a mapping has to be defined. Please give me an example what does not working if you need further help. Roger |
From: Benjamin S. <st...@gm...> - 2003-08-01 09:13:09
|
Hi! I'm currently playing around with acdk. I'm stuck at the serialization tests. Could you give me a simple example of how to - read objects from a java file - save the values as variables I don't need to do an object mapping. I just have to be able to read the file. Thanks for acdk, great work! Benjamin |
From: Roger R. K. <ko...@ar...> - 2003-06-30 10:27:55
|
Hi, After one year I release a new version of ACDK. Plaese refer to https://sourceforge.net/docman/display_doc.php?docid=5800&group_id=15364 for changes. Roger |
From: <Rog...@t-...> - 2001-08-13 12:53:01
|
Hi, I recently make a new snapshot available. http://prdownloads.sourceforge.net/acdk/acdk-all-src-2001-08-12_17-33- 38.tar.gz Changed: - pre-alpha version of acdk_vfile with a incomplete virtual file implementation for tar files. - Redesigned acdk::io::File to support other file types like tar/zip archives - Reworked acdk::lang::String for better performance. This changes may break existant code. Please refer to the documentation. Problems: - Some implementation usage of String may not work correctly. Roger, ko...@ar... |