I just have started to learn CLIPS. I have a question that I didn't find any accurate answer for it on the web or in the CLIPS' ReferenceManual.
How (which command use) to remove specific activation from agenda? I use CLIPSIDE, and if you go to the top tab and choose "Browse" => "Agenda Manager", you can remove specific activation from agenda. But i didn't find any command, which could do the same thing?
There is no corresponding command for removing a specific activation from the agenda. That particular piece of functionality was included with the IDEs when first created over thirty years ago because of the belief that it might be useful when debugging. Since it hasn't turned out to be particularly useful, it was removed from the rewritten macOS IDE in CLIPS 6.3 and the rewritten Windows IDE in CLIPS 6.4.
Related
I am developing a small tool that can detecting which folders are being opened in windows explorer and bring it to front if a specific address has been opened.
I can use both C# and C++ and finally pick C# as it is easier than C++ to accomplish the same target. Then I googled the internet and knowing COM object SHDocVw.ShellWindows can help collect all windows being opened. Then I start looking for Microsoft document to see if any functions can help to achieve my other requirements. However, when I search shell related documents: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ff521731(v=vs.85) I am warned that "We're no longer updating this content regularly. Check the Microsoft Product Lifecycle for information about how this product, service, technology, or API is supported." Moreover, some documents even say these techs will be deprecated in Win11 (See the following screenshot)
I am wondering what the status of these Shell related technical. If these are being deprecated. What's the alternative solution? I don't want my tool stop working when start using new Windows. Meanwhile, I am confusing in the study routine of learning Windows desktop technical. Looks like so many technical to achieve the same targets. Is there anyone can give me some road maps?
Last thing, it's really frustrating to search COM object documents at Microsoft sites. Is this tech going down?
Microsoft has been trying to kill win32/desktop applications since Windows 8. That parts of the documentation is labeled as "legacy" is not something I would worry too much about. Some of the shell functions have been marked as deprecated for 20 years but still work fine today and too many applications rely on them for Microsoft to successfully remove them.
The Internet Explorer warning is different and IE might actually go away but that does not affect IShellWindows which is also used by Explorer.exe and 3rd-party applications. Its implementation lives in a shell DLL and not in IE.
I develop asterisk and GUI.
Asterisk GUI were exist several type.
FreePBX, AsteriskNOW, Elastix, Trixbox...
Finally, I have selected two type.
FreePBX and AsteriskNOW.
FreePBX is based on php, AsteriskNOW is based on java.
Almost people used FreePBX.
But I don't know that reason.
I have installed AsteriskNOW and asterisk from command line (apt-get install asterisk) to get the best and easiest startup time. All other versions are a pain in the a$$. I would go for apt-get install asterisk since this way takes care of upgrades.
Your question is valid, since there are very few forums and people who can / do help on asterisk. Any question on asterisk deserves a +1.
I have been using Asterisk for about ~10 years, and always compiled from source and always used CLI. Its simple, flexible, easy to maintain and "solid". For a brief period of time, I used Trixbox. It was nice and shiny for a while, with all the bells and whistles from an "out of the box" distro. But it wasn't long when the thing broke down. I don't know if it was my careless edit or something spooky, but it stopped working. As an emergency repair, I simply re-installed asterisk from source as usual (1.4 that time), using my own handcrafted config files. This setup is still in server as of Today (Sep 5, 2014).
just recently tried 'pbxinaflash' with 'incrediblepbx', mostly because of security ('fail2ban') and to try some other interesting features (such as google voice, and other call routings). Quickly after the installation, I got locked out by fail2ban firewall when I typed incorrect password twice. Finally when I reached the GUI, it looked good (as expected). Struggled with GUI menus for several hours to get some functionality to work. Finally had to resort to editing custom.conf files to get most of stuff in my .conf files replicated. Still was not able to setup trunk. Removed it in frustration. (Oh, the 'pbxinaflash' has lots hidden paid features that are installed on trial basis).
The main issue I have with all the GUIs is that they take control of your .conf files, splitting them into multiple sub files, and allow you to edit only a few of them. This hides a lot of simple stuff under multiple GUI menus. e.g if you need to enable tcp, you would need to edit 3 lines in sip.conf in raw asterisk. On GUI, that needs visiting about 2 menus and editing a config file. My ideal GUI would co-exist with plain .conf files, seamlessly co-existing with manual edits, and still allow easy GUI for things where GUI is really needed, such as call routing etc.
Anyway, I am now trying FreePBX and AsteriskNOW (both use same GUI), while my good old asterisk 1.4 is still quietly doing its job close by.
If anyone is interested I can post more updates.
Current Asterisk NOW(binary distro) use freepbx.org (web framework for asterisk control).
So your question have no real sence or choice.
Older asterisk now(javascript) now not supported and very buggy. Better not use that.
Elastix, Trixbox, PBX in a Flash(icnredible pbx) all different binary distros based on Freepbx.org
Freepbx is not best web in term of architecture, but it most common and stable.
If you question is which distro to use as base for your setup - use PBX in Flash or Elastix.
If you want DEVELOP web, you need have 5+ years extensive asterisk experience to do that.
You can try XiVO. It's based on Asterisk and distributed under the GPLv3 license
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm looking for a tool for automated testing. I will use scripting for testing, rather than just automating, which means that it can't just send some key-presses. It needs to examine the app's window to see if it was updated correctly. The cheaper the better, with no downside limit on cost. ;-)
I need a real language, with functions, variables, loops, branching, etc., and the apps are developed in Delphi.
I need to be able to focus controls*, wait for windows to appear, search for controls/windows, send keyboard input and check that various windows/controls have changed state (e.g a button is now disabled, a text box contains the correct text, a dialog box opens, etc.).
I used to use AutoIt a few years ago and am now coming back to scripting. I wondered if there has been any new development while I was gone.
Any suggestions?
* I do not want to move the cursor to absolute coordinates in case the app's layout changes. This quote from Wikipedia explains why:
Regression testing becomes a problem with GUIs as well. This is because the GUI may change significantly across versions of the application, even though the underlying application may not. A test designed to follow a certain path through the GUI may not be able to follow that path since a button, menu item, or dialog may have changed location or appearance.
I believe you just described TestComplete by SmartBear Software.
Autoit does everything you listed. I use it for the same porpoises all the time. Also, Delphi is good in the sense that uses standard windows controls which makes it very easy to hook into.
I've had some success with sikuli, which has the advantage of being python (jython) code. It is built on top of OpenCV, and uses a full image processing engine to pattern match parts of the screen. It also contains editors and functions for screenshots, waiting on changes, as well as keystroke and mouse injection.
Something different from my other answer: PyWinAuto
It has full scripting (because it's Python), it uses control names instead of X, Y coordinates, it waits for windows and you can send keypresses. And it's free.
The downsides should be obvious :)
To automate a delphi application main problem i found was that the any testing tools (QTP with delphi addon , Test Complete , Testanywhere, autoit, sikuli) they all dont detect any Tlabels and Tlist and and other components, which for an application build in delphi forms a prominent part of the UI. Even to do func based testing we need to ultimately examine a component in the front end to see whether a func is giving right out. Even to right a script to automate we need to first be able to detect and add the object to the repository.
We have an application in which we have heavy dependency on a lot of third party components. I have tried to check feasibility with almost all the tools available in market.
The top two tools in market were of no use.
QTP with Delphi addon is of no use even in there website they have openly mentioned it wont support many classes build in delphi.
TestComplete its better than QTP where in it detects many components menu components and if i remember correctly grid etc.
Then after few googling i found
TestAnywhere which was certainly better in detecting the thirdparty build components. Only problem i found with this was that it was not detecting Tlabel classes and some components dont remember which.
When i speak of detecting components it may be partial or fully ie some tools were able to detect that there is a component at XY co-ordinates but failed to get the component classes or details (like components property name etc) without which it was difficult in automating and writing a script.
Rest all was more or less combination or subset of these above there.
Still Searching !!!!!!!!!!!
With TestComplete, if you compile your app as an open app - i.e. include their libs, it makes your app super inspectable. Great for testing, probably not best for security. Test complete was the best, it is just TOOOO expensive for my budget.
The scripting in it is great, the understanding of Delphi is great. The pricetag is just not great, especially if you are trying to get traction for GUI testing within an org, like it sounds like you are.
I am aware of both this and this questions.
Which unfortunately didn't quite answer what I'd like to know:
The answers in the above questions suggest that it has to do with adding shortcuts to the start menu, but that can't be the sole reason. So far I've been unable to reliably figure out what makes windows think my application is an installer in the first place and why does windows think it failed?
I do not want to simply suppress the message with a compatibilty tag in the manifests. I want to write a proper solution and tell Windows if my installation has failed or not. Also, what does the install using recommended settings option do, that comes along with the dialog? How can I properly utilize this functionality? Again, I don't want to simply disregard the features Windows provides, I'd like to use them.
I've been browsing around MSDN but with no success. I've asked google, but all I could find is ways to suppress the message using compatibility tricks in either the manifest or the registry. I'd be already grateful if someone could provide a viable resource on MSDN that covers this topic well.
So far, I am using a custom installer that utilizes several Windows API calls. I am not messing around with the Windows Registry other than registering two services. It also has requireAdministrator as the requested execution level (not that anyone cares, but this is suprisingly clean and simple - it's merely a flag in the project settings). I am currently not using MFC or CLR.
See Installer Detection, it lists what is checked to decide whether an executable is an installer.
"This program might not have..." is a product of "Program Compatibility Assitant", and is documented in the Application Compatibility: Program Compatibility Assistant (PCA) topic. According to the document the reinstall option applies XPSP2 compatibility mode.
Another question on StackOverflow is asking how this is done, but the general question of how Firefox manages this is even more useful, and would answer that question also.
Without reading all the source code to firefox (I haven't time) - is anyone familiar enough with Firefox V3's ability to invoke a scan on any downloaded EXE file to know how it works?
I would think any anti-virus program with active protection would hook into windows and be run automatically. Does firefox detect these hooks and bring them up by creating a windows folder and moving the file after it is downloaded from a temporary filename, to a new file name with .exe in the name, thus triggering the automatic protection? Or do they do something else?
(This is a programming question in that I want to know how to write this in general, and this would answer the above question, but also be a good piece of knowledge to add to the knowledgebase-that-is-stackoverflow.)
Also, any programmatic SDKs and APIs that commercial anti-virus programs provide for end-user application integration, I would like to know about. Especially MS Forefront, MS Security Essentials, Norton, or any other major players.
OESIS from opswat appears to provide this as a commercial SDK/application, which is a surprise when it probably should be a Windows API, given that what we're doing here is in the public good of all humans who have to use windows.] - actually it is - it is built into the windows shell. See the first link in this question for more resources.
I did a quick search through the Mozilla code base and found these source files:
./toolkit/components/downloads/src/nsDownloadScanner.cpp
./toolkit/components/downloads/src/nsDownloadScanner.h
A comment close to the top may have your answer:
Download scanner attempts to make use
of one of two different virus scanning
interfaces available on Windows -
IOfficeAntiVirus (Windows 95/NT 4 and
IE 5) and IAttachmentExecute (XPSP2
and up). The latter interface
supports calling IOfficeAntiVirus
internally, while also adding support
for XPSP2+ ADS forks which define
security related prompting on
downloaded content.