Try EcoModeler: it lets you model outside the IDE in a very stable
ModelMaker 8 based modeling surface entirely optimized for ECO.
Gerrit Beuze
ModelMaker Tools
> Wow, tried to add an attribute to a more complicated model (10 classes,
> 100 attributes):
Assertion failed: amount >= dest - startDest, file .\ek_flbuf.cpp, line 315
Then Delphi gone. Restarted Delphi and all attributes are listed
backwards (from bottom to top). New attributes at the end are placed in
the beginnen after reloading the project. Cannot reproduce it anymore,
only the attributes are all listed backwards.
Delphi2005 incl Sp2.
On trying to compile some strange quirks, too
example lines:
(1) property blabla read get_blabla write set_blabla
(2) function get_blabla
(3) procedure set_blabla
(4) function get_blabla
(5) procedure set_blabla
This is autogenerated code (i only remeber i tried to move an
associaton, so that's probably a form of reassigning (and thus causing
double definitions).
The strange things are the errors generated on this code:
Undefined function get_blabla on line 1
Undefined procedure set_blabla on line 1
redeclared function get_blabla on line 2
redeclared procedure set_blabla on line 3
redeclared function get_blabla on line 4
redeclared procedure set_blabla on line 5
I need to manyally move line 2 + 3 to before line 1, and delete line 4 +
5. Code referring to get_blabla/set_blabla generates complains about
parameters??? This is caused by the doubled implementation code,
removing the double getter/setters clears all errors.
Oh, just tested: if you 'pick up' one end of the association and release
it again on the same class you get above errors. And i also understand
why complaining about the parameters, see code examples below after
reconnecting twice:
function SectorRisicoGroep.get_InkomstenVerhouding: InkomstenVerhouding;
begin
Result := get_InkomstenVerhouding;
end;
procedure SectorRisicoGroep.set_InkomstenVerhouding(Value:
InkomstenVerhouding);
begin
value := set_InkomstenVerhouding;
end;
function SectorRisicoGroep.get_InkomstenVerhouding: InkomstenVerhouding;
begin
Result := Self._InkomstenVerhouding;
end;
procedure SectorRisicoGroep.set_InkomstenVerhouding(Value:
InkomstenVerhouding);
begin
Self._InkomstenVerhouding := Value;
end;
function SectorRisicoGroep.get__InkomstenVerhouding: InkomstenVerhouding;
begin
Result :=
(Package_1Unit.InkomstenVerhouding(Self._content.get_MemberByIndex((SectorRisicoGroepFirstMember
+ 4))));
end;
procedure SectorRisicoGroep.set__InkomstenVerhouding(Value:
InkomstenVerhouding);
begin
Self._content.set_MemberByIndex((SectorRisicoGroepFirstMember + 4),
(System.Object(Value)));
end;
Luckily there is a history function...
Together usually dies on it
> Wow, tried to add an attribute to a more complicated model (10
> classes, 100 attributes):
>
> Assertion failed: amount >= dest - startDest, file .\ek_flbuf.cpp,
> line 315
this comes from the editor kernel (ek). It is not directly Eco-related
(even though a modification in the designer triggered it). A
reproducible case would probably be of interest for the IDE team.
> Then Delphi gone. Restarted Delphi and all attributes are listed
> backwards (from bottom to top). New attributes at the end are placed
> in the beginnen after reloading the project. Cannot reproduce it
> anymore, only the attributes are all listed backwards.
really strange.
> Luckily there is a history function...
yes, that is quite a neat feature. I just wish that it was possible to
plug in my favourite difftool - BeyondCompare (it is really beyond
compare :-)
/Jonas
So true! So true!
http://qc.borland.com/qc/wc/qcmain.aspx?d=12162
> Some how i get a feeling from the posts here that for real advanced
> ECO application,ECO can not be trusted & we have to use a third party
> tool like ECOModeler.
Just to give a slighly fuller picture (without trying to attach or
avoid any blame):
Your user experience when using Eco in D2005, as it comes out of the
box consists of several parts. For this issue, three parts are of
interest:
Eco - the framework. manifested in the files Borland.Eco.*.dll. This is
mainly a runtime framework, but since it also contains some components
and component editors, parts of it is active in designtime. It relies
on the fact that the model is stored as code, and can be compiled, and
reflected upon to build up the runtime model.
Together designer - a designer that was designed for modelling code,
with a 1--1 relationship between source and model-elements. The source
code integration used in original together products uses something
called SCI to interact with the sourcecode (SourceCodeInterface)
The Eco codegenerator - a substitute for SCI that generates "eco code".
This is a requirement if you use the together designer to do Eco
models, but the Eco framework has no dependencies to it. if you use a
third party modeller, that is alright as long as it generates
compatible code.
The actual problem that started this thread was none of the parts
above, but some problem that came from the editor kernel.
That said, there are known problems with the performance of the
solution above. The performance problems comes mainly from the Eco
Codegenerator component, but there are also some issues in the together
designer and the SCI implementation. These are being worked on as we
speak.
/Jonas
"Jonas Hogstrom [Borland]" <jonas.h...@borland.com.guesswhattoremove>
wrote in message news:4267...@newsgroups.borland.com...
It makes perfect sense to me to buy advanced tools for modelling,
because i cannot expect Borland to be the best in every area (that's
what 3rd parties are for). There's much more to ECO than Ecomodeller,
it's a framework. But performance and reliability of the
Together-designer is absolutely below acceptable levels (2,4 Ghz with
1024 Mb RAM and when the crash came it took about 5 seconds after
entering an attribute before i could do anything again). What i entered
was only 5% of what needed to be modelled.
As far as i noticed, the ECO framework itself seems to have acceptable
(or even good) performance and reliablity. Are there people out here who
have succesfully delivered applications to customers (non ASP programs)
and what are their experiences. Our customer base is mostly standalone
DB-software (financial software), the users mostly have a large PEBKAC
factor, so it is crucial for us to prevent problems (should i ever
switch to dot net...).
Regards,
Hugo Logmans
Jonas Hogstrom [Borland] schreef:
No, I won't ask (but I home someone else will:-) ).
--
Jan Nordén
Senior Software Architect
MDA products group
> No, I won't ask (but I home someone else will:-) ).
hope someone else will (oh, and I googled, so don't bother).
(it's getting a bit off topic, but it's allways fun to read sites like
these).
I work for our company for 5 years now, and when i started here all
software was written in nice shining market-leaders but disastrous
software (VS6, Installshield) (Borland had gone bankrupt for the third
time or something like that).
I had a chance to introduce Delphi (5) for one of our flagship products,
and managed to create a program that was much more reliable, 100 times
faster, more manageble and with lots of nice features. Now in a few
years time except for one Foxpro program all software is converted /
rewritten in Delphi now. Support calls have been reduced a lot, and that
what's at stake: i must ensure we keep this level of quality.
On the other hand i'm allways in for new technologies and ways to work,
and ECO seems very promising (had a big disappointment on Websnap two
years ago). For ASP.NET i think i will go for it (because everything is
under our own control), but for standalone software i am still weary...
Maybe there will be a new small project with a small customer base i can
testdrive ECO in.
Regards,
Hugo Logmans
PS: I am still a Delphi fan!
Jan Nordén [Borland] schreef:
I look forward to the product of the work. The performance is a problem.
I have reverse engineered a database with 71 tables, not large tables
either. It takes 5 minutes to expand the root note on the Model View tab
on an Athlon 2100+ with 1 gig memory. Ouch. I would hate to see how
things go when I reverse engineer a larger database, which is mostly
what I work with.
I should stipulate that 5 minutes was initial model generation. Once
generated, it was ok but could be better to explore the model.
What would definitely help when initially generates the model is a
progress dialog or indicator of the work being done. Should I QC? :-)