|
|
Your questions, answered here.
Click
here
to ask a new question.
|
|
|
|
|
|
|
|
|
|
| Q |
|
What's
new for programmers? |
|
|
|
| A |
|
Lots. We're
always improving Milestones Professional's amazing OLE programming
interface. Click here for the latest news
for programmers who use Milestones. |
|
|
|
|
|
|
|
|
|
| Q |
|
I am trying to
build a schedule using the addsymbol command. None of the symbols are coming out.
What could be wrong? |
|
|
|
| A |
|
It’s possible
that the times on the symbol dates are out of the "displayed
range". For example, if you are adding a symbol at midnight but your
schedule is set up to display only 8 am to 5 pm, the symbols won’t
appear. You can set your template up to span the date range
you need and set the displayed range to all times and then use the
.Template method to load the template. Just be sure to use the full
path to the template (.mtp) file. |
|
|
|
|
|
|
|
|
|
| Q |
|
I have a database
application which generates schedules.
I want to start my schedule with my company logo.
Is this possible? |
|
|
|
| A |
|
Yes.
Just set up a “starter schedule” (Milestones Professional ML6
file). When you start your
schedule, open this schedule with a GetObject (instead of creating a new
object with CreateObject). You would use this starter schedule instead
of loading a template. |
|
|
|
|
|
|
|
|
|
| Q |
|
On your
second
Microsoft Project OLE Example, how does the DataGraph get
created? I don't see anything in the code. Looks like magic! |
|
|
|
| A |
|
Since the type of
ValueSet used on this DataGraph is a Type 3 ValueSet (Allocate Column
Values Across Timeline), the PutCell does it all. You see, the
template for this example already has the ValueSet and DataGraph set
up. When the values are added to the Cost column, the ValueSet pulls
these values, spreads them across the timeline and generates the graph
below the schedule. |
|
|
|
|
|
|
|
|
|
| Q |
|
Once
I set some date properties to a symbol (VIA OLE) is their a way to ensure
that the dependency mode will readjust those symbols as needed? Currently
they stay where they were programmatically placed. |
|
|
|
| A |
|
We have recently
added a SetAutomationDependencyMode method to Milestones Professional
2000's OLE interface. See the updated online
documentation for details. |
|
|
|
|
|
|
|
|
|
| Q |
|
Do
you have an example Visual Basic application? I do not want to use
Visual Basic for Applications (VBA) since my program will access several
programs at once. |
|
|
|
| A |
|
Yes. Click here
for a Visual Basic application which demonstrates many features in
Milestones Professional's VB Interface. |
|
|
|
|
|
|
|
|
|
| Q |
|
Is
there any way to speed up my program? I'm bringing in thousands of
tasks! |
|
|
|
| A |
|
You only need to
worry about speed when you are working with large amounts of
information. And, Yes! We do have a few tips for speeding up
your programs:
-
Don't use .RefreshTask
or .Refresh methods unless you absolutely have to. This will
speed your program up significantly.
-
Turn off
dependency mode unless you really need it. Also, use
SetShowTaskLinks to turn task links off while you are building your
schedule. You will still be able to add dependencies while the
links are not shown. When you are done building your schedule,
you can turn the links back on.
-
If you are
filling Values columns with numbers which you plan to graph using
ValueSets & DataGraphs, add them to your schedule as text.
Later, bring in a template which has the columns set as Values
SmartColumns. Also, do your ValueSet & DataGraph operations
last, after you have built the schedule if possible.
-
Once you
know how many tasks you have, do a .PutCell onto the last task
row. This will cause Milestones Professional to allocate memory
for all the task lines for your project at once. If you don't do
this, then the task memory will be added as you build your schedule
and can slow things down.
-
If you are
working with several other applications, allocate memory for the
information you want to bring in from these applications and bring the
information in all at once. This is faster than getting one
record from one application and then one from another. Bring
everything in and work on the data all at once.
|
|
|
|