瀏覽代碼

* only give unsupported error once

peter 25 年之前
父節點
當前提交
6f3e82438e
共有 2 個文件被更改,包括 56 次插入15 次删除
  1. 31 9
      compiler/export.pas
  2. 25 6
      compiler/import.pas

+ 31 - 9
compiler/export.pas

@@ -28,10 +28,10 @@ uses
   cobjects,symtable;
 
 const
-       { export options }
-       eo_resident = $1;
-       eo_index    = $2;
-       eo_name     = $4;
+   { export options }
+   eo_resident = $1;
+   eo_index    = $2;
+   eo_name     = $4;
 
 type
    pexported_item = ^texported_item;
@@ -47,6 +47,10 @@ type
 
    pexportlib=^texportlib;
    texportlib=object
+   private
+      notsupmsg : boolean;
+      procedure NotSupported;
+   public
       constructor Init;
       destructor Done;
       procedure preparelib(const s : string);virtual;
@@ -124,6 +128,7 @@ end;
 
 constructor texportlib.Init;
 begin
+  notsupmsg:=false;
 end;
 
 
@@ -132,24 +137,38 @@ begin
 end;
 
 
+procedure texportlib.NotSupported;
+begin
+  { show the message only once }
+  if not notsupmsg then
+   begin
+     Message(exec_e_dll_not_supported);
+     notsupmsg:=true;
+   end;
+end;
+
+
 procedure texportlib.preparelib(const s:string);
 begin
-  Message(exec_e_dll_not_supported);
+  NotSupported;
 end;
 
+
 procedure texportlib.exportprocedure(hp : pexported_item);
 begin
-  Message(exec_e_dll_not_supported);
+  NotSupported;
 end;
 
+
 procedure texportlib.exportvar(hp : pexported_item);
 begin
-  Message(exec_e_dll_not_supported);
+  NotSupported;
 end;
 
+
 procedure texportlib.generatelib;
 begin
-  Message(exec_e_dll_not_supported);
+  NotSupported;
 end;
 
 
@@ -194,7 +213,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.9  2000-01-07 01:14:27  peter
+  Revision 1.10  2000-01-12 10:34:29  peter
+    * only give unsupported error once
+
+  Revision 1.9  2000/01/07 01:14:27  peter
     * updated copyright to 2000
 
   Revision 1.8  1999/11/06 14:34:20  peter

+ 25 - 6
compiler/import.pas

@@ -48,6 +48,10 @@ type
 
    pimportlib=^timportlib;
    timportlib=object
+   private
+      notsupmsg : boolean;
+      procedure NotSupported;
+   public
       constructor Init;
       destructor Done;
       procedure preparelib(const s:string);virtual;
@@ -157,6 +161,7 @@ end;
 
 constructor timportlib.Init;
 begin
+  notsupmsg:=false;
 end;
 
 
@@ -165,33 +170,44 @@ begin
 end;
 
 
+procedure timportlib.NotSupported;
+begin
+  { show the message only once }
+  if not notsupmsg then
+   begin
+     Message(exec_e_dll_not_supported);
+     notsupmsg:=true;
+   end;
+end;
+
+
 procedure timportlib.preparelib(const s:string);
 begin
-  Message(exec_e_dll_not_supported);
+  NotSupported;
 end;
 
 
 procedure timportlib.importprocedure(const func,module:string;index:longint;const name:string);
 begin
-  Message(exec_e_dll_not_supported);
+  NotSupported;
 end;
 
 
 procedure timportlib.importvariable(const varname,module:string;const name:string);
 begin
-  Message(exec_e_dll_not_supported);
+  NotSupported;
 end;
 
 
 procedure timportlib.generatelib;
 begin
-  Message(exec_e_dll_not_supported);
+  NotSupported;
 end;
 
 
 procedure timportlib.generatesmartlib;
 begin
-  Message(exec_e_dll_not_supported);
+  NotSupported;
 end;
 
 
@@ -234,7 +250,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.16  2000-01-07 01:14:27  peter
+  Revision 1.17  2000-01-12 10:34:29  peter
+    * only give unsupported error once
+
+  Revision 1.16  2000/01/07 01:14:27  peter
     * updated copyright to 2000
 
   Revision 1.15  1999/11/06 14:34:21  peter