Comments (6)
from cppwinrt.
The XAML startup model is a bit odd because if you only look at WinMain it seems as if the XAML framework never gets a reference to your App class, but keep in mind that your App class derives from the XAML Application class. This causes the Application constructor to run, which is the way that the XAML framework discovers that the app is ready for launch.
from cppwinrt.
Windows.UI.Xaml.Application takes a delegate as its argument. The Lambda is converted to that. In the callback you create your app object.
from cppwinrt.
Yes, but the App object doesn't seem to go anywhere, from the looks of it the object should die just as soon as it returns from make<App>();
as there is nothing to keep it alive. Unless it is somehow assigned to some global internal variable inside the make<App>
funktion?
I reckon that there should only be one App object within the application and so I'm figuring that it might be implemented in a singleton pattern with a static data member somewhere?
I just find the
Application::Start(
[](auto &&)
{
make<App>();
});
to be a little unintuitive and confusing. Perhaps have a differently named function to make and register the App objekt, maybe something like register_new<App>()
or something similar instead of make<App>()
.
Just my thoughts, and I might have misunderstood things.
from cppwinrt.
Aha that makes a lot more sense! Thanks smj389 for clarifying that.
If I could make a suggestion, maybe have a function named run<App>()
or something like that would be more clear than make<App>()
.
from cppwinrt.
Thanks for the information and for the good work on cppwinrt!
from cppwinrt.
Related Issues (20)
- GetChildrenInTabFocusOrder no longer a member of the generated code HOT 10
- Cannot use WinRT with MFC? HOT 3
- Bug: version 2.0.240111.5 does not work correctly with XAML HOT 10
- Bug:Build failure due to namespace changes in XamlTypeInfo after C++/WinRT update HOT 2
- Bug: throw_hresult should treat ERROR_COMMITMENT_LIMIT as OOM HOT 3
- Bug: co_await apartment_context crashs with ''CoInitialize has not been called.'' HOT 3
- Bug: Calling PropertyValue.Create to handle boxing is significantly slower than allocating an IReference directly HOT 5
- Bug: projection generator does not handle absolute unix path HOT 2
- Bug:Compiling Error with C++20, inheriting of winrt::implements HOT 5
- Feature: Support C++20 std::format for cppwinrt types (e.g. winrt::hstring) HOT 2
- Bug: DeviceInformation::FindAddAsync returns empty collection when specifying a usb device. HOT 1
- Bug: Weird c++20 MainWindow.xaml.g.hpp bug HOT 1
- Bug: observable_map_base::call_changed is private HOT 4
- `com_ptr::addressof` method? HOT 4
- Bug: C++WinRT does not correctly handles Chinese characters using `Windows.Foundation.Uri` HOT 5
- com_array should have a constructor accepting std::pair<uint32_t, T* const> HOT 1
- How does `winrt::auto_revoke` not result in memory leaks? HOT 1
- Bug: "Common properties" not showing in VC++ project HOT 4
- Best way to keep track of pending IAsyncActions HOT 4
- Bug: In some situations, calling get_weak() may over-release the "outer" object HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cppwinrt.