What I need to do is find out a method version for a particular method that is in error on a clients site that does not have a development licence. What I have done is designed a workspace script as shown here:
Code: Select all
constants
Class_Name = "Iterator";
Method_Name = "next";
vars
crMethod : Method;
crObject : Object;
trMethods : MethodNDict;
crType : Type;
trObjectArray : ObjectArray;
pbFound : Boolean;
begin
create trMethods transient;
create trObjectArray transient;
currentSchema.allClasses().copy(trObjectArray);
foreach crObject in trObjectArray do
if crObject.getName = Class_Name then
crType := crObject.Type;
crType.getMethods(trMethods);
foreach crMethod in trMethods do
if crMethod.name = Method_Name then
write "Modified info for: [" & Class_Name & "::" & Method_Name & "]";
write crMethod.getPropertyValue("_modifiedBy").String & " " & crMethod.getPropertyValue(SchemaEntity::modifiedTimeStamp.name).String;
pbFound := true;
break;
endif;
endforeach;
if pbFound then
break;
endif;
endif;
endforeach;
if not pbFound then
write "Class and/or method not found, please check your spelling: [" & Class_Name & "::" & Method_Name & "]";
endif;
epilog
delete trMethods;
delete trObjectArray;
end;
Altering the exception handler to pass back this information is an option I have considered but this would be too much of a change to the clients site to do this.