Toad World® Forums

TDM 3 ovservations


TDM3 beta version

  1. I have all of the toolbars turned on, howover there are certain selections that change the availability of some of the icons. In some case, buttons that are not applicable to the screen selected are grayed out. Other times the entire toolbar is removed from the display.

  2. After a while of moving relationship lines around, I’m no long allowed to select a relationship handle to move the line. I get an AV saying:

Error - Access violation at address 00C47E99 in module ‘TDM.exe’. Read of address 00000000.

After saving the model, the error doesn’t pop up.

  1. On the entity properties for an entity, the SQL Preview tab is empty.

Speaking of generated SQL, how do I get the foreign key constraints declared during the create table statement rather than an alter table statement at the end of the script? I know that by deferring the RI on the tables until the you ensure that all of the tables are created before being constrained, but I like the RI in the table definition so I can see it all at one time in the code as well as in the model. Of course that means that you have to create the tables in the proper order so that you pick up all of the dependencies.


Hi Bruce,

Ad1) Yes, the options in the toolbar change. It depends on whether there’s any Designer of any Workspace open, if you work with PER or LER model, if you’re working in Version Manager, Script or Package Explorer, or Scripting Window right now…(See the attached doc with some screenshots + examples.)
In other words, TDM 3 always offers you appropriate options.

Ad2) We’ve verified it and no problem occured. Will you remember what you did before you start moving the lines? If you can provide us with more detail, we’d very appreciate it. Thanks.

Ad3) Entity Properties| SQL Preview tab - Please notice the SQL Preview small icon at the bottom left-hand corner of the dialog. Click it.

If it still doesn’t work, please open the SQL Script Generation dialog | General tab and make sure the Create Tables option is selected. Thanks.

If you come across any problem, please write me back.


Vladka & TDM Team
toolbar options.pdf (255 KB)


See if you can duplicate the AV from #2 with this sample. I duplicated the type of entities that I was working with. A self-relationship and a many-to-many relationship all to the same entity.
av.txp (43.3 KB)


Hello Bruce,

Thanks very much for the example model and details.
Thanks to you, we’ve found out two troubles.

  1. Relationship name should move while moving any break point, which doesn’t work properly for self relationships. It will be fixed. CR # 35 453.

  2. Now see the break point that is the closes to entity box. - You can grab it and drag on another entity. E.g. when you find out you connected wrong entities.
    These break points cannot be moved e.g. on another side of the same entity box, but only to another entity.

If you grab such a break point and finally click it on the same place where it was, Access Violation error occurs, which is a bug. CR # 35 454.

Bruce, thanks very much for your help and patience.




While we’re on the topic of relationship names moving with the break point, I got myself into a condition where the relationship name was behind the entity. While I could see the name displayed through the entity object, I couldn’t click the relationshiop name to move it to a location on the diagram where it wasn’t partially occluded. My only option was to move the entity until I could grab the relationship name and move it somewhere else on the diagram. Of course, when I grabbed the entity and moved it back to it’s original location, the relationship name started moving again because the relationship line was moving.

Is there some sort of ‘push to front/rear’ or ‘shuffle up/down’ mechanism so that if you get objects stacked up on the display you can drill down through the object stack to select the item you want to move?

How about a ‘lock item’ on the display so that when you move a relationship line or the table the relationship name doesn’t move along with it.

I could see a ‘lock object’ option coming in handy for other drawables too. If you are moving around objects on the display but there are certain objects that you absolutely don’t want to move because they are where you want them for example. For those objects, you would have to expressly unlock them so that you could move them and them lock them back to their position.

I might even want to lock an entire workspace. It’s exactly the way I want it and I don’t want to accidently change it. I still need it for reference, implementation or documentation.


Hello Bruce,

Thanks for your opinion and suggestions.

In TDM 3, the relationship name is anchored to the middle of relationship line. If the position of the midpoint changes, the relationship name moves accordingly.
So, if it happens that the relationship name is displayed behind an entity, move any break point of the relationship to move its midpoint/name. You can move it a little, just to display a bit of the name that you can drag where you need then. - I’m afraid, this is the only solution for now.

Nevertheless, we can add to TDM 3 options:

  • to move relationship name together with relationship,
  • move rel. name itselft independently.
    You would be able to select an option that you like. Would this be acceptable for you?
    Please let us know. Thanks.




I like the options that you are suggesting, but the crux of the problem is TDM3 automatically moving objects that wind up completely occluded by another object - in this case the entities are hiding handles for the relationships.

I tested some of the other capabilities of relationship manipulation such as attaching a relationship to a different entity other than its original. (I don’t like being able to do that, but that’s just me.) I attached the end point to entity 4 then re-attached it to entity3. After an autolayout, now I have 2 handles for the relationship hidden behind entity3 and now I can’t move the relationship. I can, however, generate new, but probably related, AV’s.

See Test WS in Test Model 2 in the attachment.
av.txp (43.3 KB)


Hello Bruce,

Thanks for your reply.

I like the options that you are suggesting, but the crux of the problem is TDM3 automatically moving objects that wind up completely occluded by another object - in this case the entities are hiding handles for the relationships.

I’m very sorry, I don’t understand (sorry for my English).
Anyway, if I select an entity to move, appropriate relationships should move too. The other entity (or entities) remain in the same place (provided that it’s not selected).
If it happens that rel. name is hidden, I can move an entity or rel. break point. As rel. names are anchored to center of rel. line, the position of name will change, it will be displayed and I can remove the name itself somewhere else.

In any case, we have further discussed this issue and suggest the following: when rel. name is hidden, you click the appropriate relationship line and its name will be selected and become visible on the entity that hides it. (Similar behaviour when two entities cover each other and you click one - it will display on the other.) Then, you will be able to drag the to another place. - CR # 35 755.

Concerning the autolayout, yes, this is definitely a bug.
After you select Autolayout (or right -click an entity | Align Self Relationship), the rel. names are not moved properly. CR # 35 744.

Note: “The text in a note box really should autowrap to the size of the note box that contains it.” - Please right-click the note box | Format | Shape | Recalculate Size. See this check box is clear in your model. Please select it to auto resize the box. Thanks.

Thanks for your great co-operation!


Vladka & TDM Team


I like the options that you are suggesting, but the crux of the problem is TDM3 automatically moving objects that wind up completely occluded by another object - in this case the entities are hiding handles for the relationships.

I’m very sorry, I don’t understand (sorry for my English).

Let me try to re-phrase my statement.

There are methods, sometimes by the user and sometimes by the application, where items that are drawn within the model are completely hidden by other objects drawn on top of them. For example, you can move a breakpoint such that when you release it, it is displayed behind an entity. At that point, you can not grab that break point again to move it. See if the attachment helps any.
av.txp (40.9 KB)


Hello Bruce,

thank you for your detailed explanation and the sample. We plan to improve the graphics (e.g. add background to relationship captions etc.). I have created a new change request for the break points. CR#36073

Thanks again!