Lazarus: Why OnDrawTab event is not executing? - events

On a form, I have a TTabControl. Plus, I have created the OnDrawTab and OnChange event accordingly. However, only OnChange Event works but not the OnDrawTab event.
What am I doing wrong or Is there a way around it?
I placed a breakpoint within OnDrawTab event and it just won't break at that point.
I am running Lazarus 1.0.12 and fpc 2.6.2 on Linux OS.

After much researching, I ended up trying out ATTabs. It does need some editing to be able to run on Linux Environment. I am able to use it with Lazarus.
Thanks for the suggestion.

Related

RubyMine 2018.1.3 - Not able to configure Ruby Interpreter in Mac OS X 10.13.4

RubyMine shows me an error regarding Ruby Interpreter like below
Now whenever I click on Configure Ruby Interpreter it takes me to the below page and even after selecting the interpreter and pressing Apply , the interpreter is not getting configured.
The same issue with Configure Cookbooks. When I try to configure Cookbooks it shows me an window like below and even after doing apply nothing happens.
Can some one let me know what is going wrong ?
I am not sure whether I have faced the same problem, but for me when I press apply button, it got stuck so I directly pressed the okay button, it has configured the interpreter fine. Try it.
This is literally just a case of the message not going away, same thing happens in PyCharm as well. Closing the tab the message is displayed on and re-opening it will make it go away, as well as simply clicking the "play" button to confirm it is indeed working.
The project I was working on has both python and ruby files. I have configured PyCharm and then in the same directory I was trying to configure RubyMine for ruby which was causing the issue.
So I checked out the code in a different folder and configured only RubyMine there. Now things are working as expected.

Check if application is not running

I am developing a WiX installer (I am very new to this) and want to implement a method (like launch condition) which check if a particular application is running or not. If it's running then a warning message will popup displaying close the application message. I want this check before the welcome screen.
How can I implement this? Some working example will really help me a lot.
Windows Installer already has a FilesInUse and RMFilesInUse (Restart Manager) support. Does this not meet your needs? With these patterns you'll get a dialog telling the user that they need to exit a program or risk needing a reboot.
This can be done only through a custom action. Here is a tutorial for a C++ DLL native custom action: http://www.codeproject.com/Articles/1747/MSI-Custom-Action-DLL
Your custom action can perform the check and then show a message to the user if necessary. It
can return 0 to continue the installation or 1602 to stop.
To show the message before Welcome dialog, you can try scheduling your custom action right after CostFinalize action in InstallUISequence.

Hook a check box to catch a fired event

:-D Long story short, I would like to catch an event fired once the user sets checked to a dialog's check button of some windows (not my windows application). I understand little about hooking, but in this case as I would like to monitor an event (button-clicked), I don't know what message I should hook ? If you have any idea, please tell me, I appreciate any of your precious advice. Thank you.
System-wide hooks are what you are looking for. Don't expect a one-liner solution though!
A solution on the road less traveled is to inject a DLL, then subclass the window.

Tools/code to automatically click ok on dialogs

We have an 'enterprisey' system with a scheduling component which gets floored if any dialogs come up. If any modal dialogs come up in the processes it is running, it gets 'paused' and can't kick off any new processes.
Excuse me a minute ...
*goes outside*
*laughs*
*cries*
*comes back*
.. ahem ... so anyway we need some sort of tool/technique that can lurk in the background and automatically detect specific dialogs and click OK on them. Any recommendations?
The offending system is running in Windows XP.
(NB: changing the third-party-enterprisey system or making its developers sit on the naughty step until they improve it are not options in the short term)
From this similar question I found:
Buzof by Basta Computing
which did the trick.
There is also a product called DialogDevil which looked promising but didn't work in our situation for some reason.
AutoIT is absolutely perfect for this. You can use the tool to help identify the dialog, write your own simple code and distribute the "auto clicker" via exe. It lurks in the background by running from the task tray.
DialogDavil will require exact same parameters on your dialog (for which you want buttons to be autoclicked) every time that same dialog pops up. And thats why it didnt work for me in first pass. Then i changed the control file at the following path to remove the changing items (a text box text in my case)
C:\Users\userName\AppData\Roaming\DAIR\DialogDevil\control.xml
And then it worked like a charm.
HTH,

Activating an injected DLL in Windows

I'm currently using SetWindowsHookEx to inject my DLL into another process, however it does not get loaded right away. I noticed that if I manually click the window, it will get loaded then, so I'm guessing it is waiting for some type of message to get the activation rolling? I'm currently getting it activated with a
SetForegroundWindow(otherAppHwnd);
SetForegroundWindow(myAppHwnd);
But this seems like a hack, and doesn't always work (i.e. the otherAppHwnd is minimized to the taskbar.
Any pointers would be great!
Edit: It is a CBT Hook
I've successfully used this:
SendMessage(otherAppHwnd, WM_NULL, 0, 0);
to achieve what you want, but only with lower-level hooks like WH_GETMESSAGE, never a CBT hook. It might work. 8-)
It seems that this is not possible.
So instead of forcing my way around this, I decided to just roll with it and make my design be able to handle this.

Resources