Additional warning/error with interfaces in CORBA mode
Summary
Since in COM mode there is an error when interface does not have GUID, in CORBA mode compiler should supply some extra information.
- Emit a warning when there is no identification ("Interface string identifier missing"). It might not be a problem in general, but "as" casting does not work without interface identification;
- Emit a error when two interfaces have the same identification ("Duplicate interface string identifier"). If identifiers are assigned, then they must be unique (using GUIDs it is very likely to be so, might fail in large projects using normal strings);
Example Project
program corba_extra_information;
{$INTERFACES CORBA}
type
Interface1 = interface // <-- WARNING: Interface string identifier missing
procedure Method1();
end;
Interface2 = interface['identifier']
procedure Method2();
end;
Interface3 = interface['another identifier']
procedure Method3();
end;
Interface4 = interface['identifier'] // <-- ERROR: Duplicate interface string identifier
procedure Method4();
end;
begin
end.
Edited by Tomaso Tosolini