|
@@ -832,7 +832,17 @@ begin
|
|
current_module^.uses_imports:=true;
|
|
current_module^.uses_imports:=true;
|
|
importlib^.preparelib(current_module^.modulename^);
|
|
importlib^.preparelib(current_module^.modulename^);
|
|
end;
|
|
end;
|
|
- importlib^.importprocedure(aktprocsym^.mangledname,import_dll,import_nr,import_name)
|
|
|
|
|
|
+ if not(m_repeat_forward in aktmodeswitches) then
|
|
|
|
+ begin
|
|
|
|
+ { we can only have one overloaded here ! }
|
|
|
|
+ if assigned(aktprocsym^.definition^.nextoverloaded) then
|
|
|
|
+ importlib^.importprocedure(aktprocsym^.definition^.nextoverloaded^.mangledname,
|
|
|
|
+ import_dll,import_nr,import_name)
|
|
|
|
+ else
|
|
|
|
+ importlib^.importprocedure(aktprocsym^.mangledname,import_dll,import_nr,import_name);
|
|
|
|
+ end
|
|
|
|
+ else
|
|
|
|
+ importlib^.importprocedure(aktprocsym^.mangledname,import_dll,import_nr,import_name);
|
|
end
|
|
end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
@@ -1226,7 +1236,7 @@ begin
|
|
{ this is also wrong (PM)
|
|
{ this is also wrong (PM)
|
|
aktprocsym^.definition^.setmangledname(hd^.mangledname);}
|
|
aktprocsym^.definition^.setmangledname(hd^.mangledname);}
|
|
end
|
|
end
|
|
- else
|
|
|
|
|
|
+ else
|
|
begin
|
|
begin
|
|
{ If mangled names are equal, therefore }
|
|
{ If mangled names are equal, therefore }
|
|
{ they have the same number of parameters }
|
|
{ they have the same number of parameters }
|
|
@@ -1644,7 +1654,8 @@ begin
|
|
dec(lexlevel);
|
|
dec(lexlevel);
|
|
dispose(anames,done);
|
|
dispose(anames,done);
|
|
if ((aktprocsym^.definition^.options and pocontainsself)<>0) and
|
|
if ((aktprocsym^.definition^.options and pocontainsself)<>0) and
|
|
- ((aktprocsym^.definition^.options and pomsgstr)=0) then
|
|
|
|
|
|
+ ((aktprocsym^.definition^.options and pomsgstr)=0) and
|
|
|
|
+ ((aktprocsym^.definition^.options and pomsgint)=0) then
|
|
message(parser_e_self_in_non_message_handler);
|
|
message(parser_e_self_in_non_message_handler);
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -1825,12 +1836,22 @@ end.
|
|
|
|
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.3 1999-07-02 13:02:24 peter
|
|
|
|
|
|
+ Revision 1.4 1999-07-11 20:10:24 peter
|
|
|
|
+ * merged
|
|
|
|
+
|
|
|
|
+ Revision 1.3 1999/07/02 13:02:24 peter
|
|
* merged
|
|
* merged
|
|
|
|
|
|
Revision 1.2 1999/06/17 13:19:56 pierre
|
|
Revision 1.2 1999/06/17 13:19:56 pierre
|
|
* merged from 0_99_12 branch
|
|
* merged from 0_99_12 branch
|
|
|
|
|
|
|
|
+ Revision 1.1.2.4 1999/07/11 20:07:39 peter
|
|
|
|
+ * message crash fixed
|
|
|
|
+ * no error if self is used with non-string message
|
|
|
|
+
|
|
|
|
+ Revision 1.1.2.3 1999/07/11 20:04:05 pierre
|
|
|
|
+ * fix for problem with external without parameters in Delphi mode
|
|
|
|
+
|
|
Revision 1.1.2.2 1999/07/02 12:59:52 peter
|
|
Revision 1.1.2.2 1999/07/02 12:59:52 peter
|
|
* fixed parsing of message directive
|
|
* fixed parsing of message directive
|
|
|
|
|