VB.NET Ignoring bad references at compilation - vb.net

I've got a problem with a program that references a third party ActiveX component that I've been refused permission to distribute.
The AX component is used on some user defined controls which the user can add programatically, which makes isolating them fairly easy.
However, the problem is that if the program is installed on a machine without the third party component then it just crashes, where I would much prefer it to just alert the user to the missing component and then disable the functionality that requires the component.
In the past I've tried adding the reference programatically but have found that this solution doesn't work with this particular control.
Any suggestions as to a strategy that allows the program to run despite missing referenced components would be much appreciated.

You use a launcher app. Deploy both apps. The shortcut you show to the user should start your launcher app. The launcher will first check that all the dependencies are in place, and if so go on to start your app. Otherwise, it will show the user a nicer error message, and perhaps point them to where they can find the missing dependency.

Related

Conditional Compilation with Create React App

I'm working on an application that is written in TypeScript and built with Create React App (CRA). The application needs buttons for reseting various things, so people carrying out manual software testing can do their job. How can I convince CRA to leave the test functionalities out when compiling a production build? I wouldn't want to leave a "loaded gun" behind a simple if statement and a runtime configuration option that might accidentally be turned on one day.
I'm not sure if it is a good practice, but I would have place these buttons with some html tags like data-test-show and hide them (display none or something).
On the test environment I would add some css styles for that attribute to show such elements.

How to solve _OBJC_CLASS_$ reference error

We have a standalone video playback app, in which we have Chromecast working fine. Now we are trying to convert this app as a framework and add it in the parent app.
While building framework, reference error pops up. If I comment out the code in RNGoogleCast.m, where these classes [see attached image] are referenced then the framework builds successfully and works fine with parent app. With commented code, I don't see the chromecast button while playing video.
In Build Setting of Framework, other linker flags set to -ObjC. If I remove it or keep the same value as an app, then frameworks build successfully but don't work with the parent app.
Please let me know if you need more information from the app or framework.
Can someone help me to get rid of these errors and get the chromecast button enabled while playing video?
Also, raised issue here: https://github.com/react-native-google-cast/react-native-google-cast/issues/126
Linker errors come when you're trying to use certain classes and the linker doesn't know where they come from. Chances are, you imported the correct header files, but you have not added linked frameworks/libraries that contain the GCK* classes.
To fix this issue, you should go to your project settings, then build phases. Open the dropdown menu "Link Binary With Libraries", and from here you can click the plus to add the framework/library. In your case, I believe it's GoogleCast.framework. With Cast, there are a few extra steps listed here: https://developers.google.com/cast/docs/ios_sender

how to navigate to settings in android emulator using robotium?

I am a newbie for Robotium and till then I managed to learn a lot by directly writing test cases for public websites and sorted out several issues from answers in stackoverflow. now, I seemed to hit the wall at this (probably)trivial problem.
I would like to navigate to 'Settings' icon which is inside 'Apps' menu of the android emulator using some sort of 'robotium-solo' method.
This is my failed attempt:
solo.sendKey(KeyEvent.KEYCODE_HOME);
//solo.clickOnImageButton(2); // no success!
//solo.clickOnActionBarItem(2); // no success!
solo.clickOnText("Settings");
solo.clickOnText("Music");
I checked for any KEYCODE_var for home screen 'app' icon but couldn't find one.
There is no useful log message in DDMS to figure out the starting activity when clicked/tapped on that button.s
Please guide me whether my approach is any good and help me with an answer. Thanks.
you can check with getCurrentViews() and have the list of views displayed before clicking the menu button and after clicking the menu button.By comparing them you can get the view of the new views displayed (i.e. settings button).
After getting the view,you can go with solo.clickOnView(ViewNameObtained);
This will solve your problem for sure.
As far as I know, navigating to settings is not possible with robotium. Even if you would be able to go there you cannot perform any other action as Settings are not port of your application. Android Instrumentation allows performing actions only within one package and robotium is only wrapper for that, so it's not able to click outside your application as well.
You can use UI Automator for that.

Migrating Widgets in Telerik Sitefinity

I fell into a project where my task was develop some widgets in Sitefinity 4.4. I've found a lot of documentation on how to create the widgets using the Site Manager and all that has gone really well.
Now, I have the widgets set up in a test environment and working well with some test pages. I'm trying to figure out how to deploy the widgets to the production server without re-doing all the work there. I just want to move the widgets over - I don't need or want the pages. I have gone through a lot of the Telerik documentation, but have been unable to find anything about deploying like this. Has anyone done this before?
Thanks!
did you develop these widgets as compiled controls (dll) or simple user controls (.ascx)?
The process is mostly the same for either. the dll goes in the bin folder whereas a user control gets uploaded to the website folder somewhere. then you simply register the widget in the toolbox.
here is the documentation for how this is done: http://www.sitefinity.com/documentation/documentationarticles/adding-controls-to-the-toolbox
The only difference for a compiled dll widget is to use the fully qualified name for the ControlType instead of the path to the user control.
After registering the widget it should be available to drop onto any page.
Hope this is helpful!

"Loading Checklog" error while loading quartz composition using Quartz Composer Patch Controller

I've created a composition in Quartz Composer, and am following the examples on "Quartz Composer Programming Guide" on Apple's website for connecting it to a XIB.
My goal is to be able to bind inputs in my Quartz Composition with UI controls (sliders, keyboard input, etc.) within my Cocoa application. It seems that this tutorial is sufficient for what I want to do.
However, I can't get the Quartz Composer Patch Controller to load my composition. I add the Patch Controller to my XIB document window, then I go to "Load Composition".
Every time I click "Load Composition", I choose my file and it gives me an error message box that says "Loading Failed: Loading CheckLog".
Here's what may be interesting: I can view my composition if I load it with a QCView object, but can't load it in the Patch Controller.
I've tried loading other compositions, I get the same error. I tried in a different computer, on a new project, same XCode version (4.0.1), and I still get the error.
I've only done the steps outlined in the tutorial, and I am referencing the Quartz framework in my project. My first thought is that there might be some procedures that are not outlined in the programming guide that I may be skipping.
So how do I resolve this error? Please help!
I assume the “CheckLog” bit means that there’s something in the system log (open /Applications/Utilities/Console.app and look under Console Log). There might also be something in ~/Library/Logs/. (Shamefully bad UI in any case, of course.)
I had this problem - solved it by making sure that I was using the corresponding version of quartz composer and xcode since I have multiple versions of developer tools installed. (use both applications contained within the same developer folder).