From joining Red Oak to become familiar with and use the easy-control (INSPEC) configuration software, it is commendable that INSPEC's openness and support for the C # language, in addition, it does not feel that it and other configuration software has too much advantage, some people say INSPEC software licensing than other similar configuration software in China cheaper, Let's just say it's one of those strengths.
Sea Amoy things good, get the goods have been used in hand to know, configuration software is also a truth, as a development tool, easy to use, with some development experience can be quickly skilled, even "proficient." But it as a configuration development tool software, more also need to explore in the actual project development process, hit the stone hurt will feel pain, because of fear of pain, so next will think of ways to avoid stone, this is Inspec, is also the characteristics of configuration software bar, real in use will find a lot of "pit", face these "Pit" must be careful, unless you decide to give it up, otherwise you can not go to the head, you have to round.
Considering the limited implementation of INSPEC (configuration software), the future open demand for system data developed by configuration software can be realized in Inspec, but there are a lot of repetitive work, so the data, control and business processing parts are extracted from the configuration software as early as possible. Designing and developing according to the characteristics of the company or the project is of great significance to the company or project. Relying on the OPC server provided by Inspec can realize the real-time sharing of data, it is a more direct and fast way to use. Of course, if the company has the underlying hardware Development foundation, can directly ignore the various configuration software.
Configuration software data using OPC server share, then use Inspec opcclient Library to develop OPC read-write client software function, next is to run the advanced development language to achieve data processing, control and business functions, This will take the original implementation and processing in the Inspec to the outside, and then use the Inspec Web Browser Control in the configuration software presented.
And this time the "pit" is related to the Web browser control, I do not rule out the other controls provided by Inspec have the possibility of such problems.
In Inspec, internal variables, images are used directly using static method (global) reference, such as content variables using variable group name + DOT connector + variable name, screen using grpmanager+ dot connector + screen name, the difference is that the internal variable from the start of the project has been in existence, Initialization is not required, but the screen needs to be preloaded using the Grp.open or Grp.hide method, and then the elements in the screen can be manipulated directly using the grpmanager+ DOT Connector + screen name + DOT connector + Member ID in the screen.
All that seems to be the logical thing, this time there is an accident, perhaps to do technology, the eternal Law and truth is to believe, but one day if there are unexpected things, do not make a fuss, a good quiet mind to comb the rationale, to find out the cause of this discrepancy, summing up lessons learned. For example, we often think that the execution of a single-threaded function or process always goes from top to bottom, from inlet to outlet, But node. js appears, breaking this rule, a function or process in which a time-consuming code does not execute, and the next code begins to execute concurrently, causing the entire function or process implementation to deviate.
Near the project development into the Milestone node, all the development tasks are implemented according to the plan, looking at the Inspec engineering documents from the initial several trillion, to now forty or fifty Trillion, the heart infinite feeling! However, it was at this moment that the problem came out. has been using normal browser control suddenly all the error, prompted "object reference not set to an instance of the object", there is no mistake, all browser controls at the same time "collective strike", in the Inspec development environment compiled also no error, but the run time in the background error, This issue does not exist for files backed up two days ago. Thinking that the screen and backstage code are not changed, and suddenly appear such a problem, it is not in the Inspec browser control has a problem, can not use it? In that case, the problem is too big to say how much time it takes to re-implement the same functionality in Inspec, and it has a very big impact on the associated project! Turning back is absolutely impossible, this problem must be solved!
So, the tangled annoying to find "worm" work began. Try to fix the project by first trying to check the project page and code for errors. The methods you have tried are:
(1) Delete page Web Browser control, re-add new Web Browser control, invalid;
(2) Modify the control ID for the re-added web browser Control, remove Chinese characters, and change to English letter, invalid;
(3) Delete the problem of one of the pages, re-add new screen, the new screen to achieve the same function of the original screen, the problem remains, also invalid;
(4) Enable Web Browser Control toolbar, check found in the running environment, all the screen Web browser control is in the background code directly assigned or submit URL address times wrong, but in the Web browser address bar Enter the address of the background submission, is able to display in the Web Browser Control!?
(5) Suspect that the development environment has a problem, after uninstalling the Inspec software, restart the computer after the installation, invalid;
(6) Check the last backup version, all Web Browser control functions in the backup project are normal.
(7) Instead of using the Submitwebaddress method of the WebBrowser control to assign a value to the Currenturl property, the Error "object reference is not set to an instance of an object" is then started, at which time the Web browser control is suspected and the backend code is checked for null. Results found that the cause of the error is that the Web browser control is an empty object!
(8) will be in the background code to find the Web browser control is empty, and easy to control technical support communication, the other side also do not believe that there will be such a problem, technical support that we put the Web browser complex, it is recommended to directly in the browser to lose their own address access, Khan! The response party requested that the following two points continue to be tested.
(9) Add a button control in the problematic screen, in the button control click event, reference the screen's Web browser control and try to load a URL address, still error;
(10) New test screen, and add Web browser and button control, in the button click event Operation Web Browser Control, no error!
(11) Accordingly, again with the easy control technical support communication, the basic can infer is the project or the picture appears the problem! At the same time, the other party informs that when the project is closed unexpectedly or for other reasons, the shutdown/exit behavior is not properly maintained, there may be works or screen damage.
Engineering problems, can be said to be sad and bittersweet, sad is hateful this easy-to-control software is too fragile, the computer appears blue screen or failure, the guarantee is not allowed at that time to open an easy control project, so that the project buried a time bomb, good luck is just a dumb thunder, happy, bad luck on ... It's hard to say. Hi is the project problem, but the solution is not a problem, take a little time and energy to solve it.
The next step is to start the engineering repair and reconstruction work, simply by identifying an initial archive, starting from this archive to the current project, and all the work done in the middle. Because there is no way to determine exactly where the project is a problem, so you must always back up, make changes to the record, repeated testing before and after the modification of the project is abnormal, and when there is an exception, re-locate a normal project backup, so repeated.
!!! Summary of INSPEC configuration software development ——-a project file corruption and processing