|
You last visited: Today at 16:39
Advertisement
Windows Form Pointer
Discussion on Windows Form Pointer within the C/C++ forum part of the Coders Den category.
10/17/2012, 01:28
|
#1
|
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
|
Windows Form Pointer
Hallo, ich weis nicht genau ob der Titel wirklich passend ist ~.~
Ich habe mir in meiner DLL jetzt eine Windows Form geadded.. Funktioniert alles Wunderbar!
Jetzt will ich aber z.b listbox werte außerhalb von der Form Klasse ändern von anderen Funktionen halt aus..
So rufe ich die Form auf ganz normal..
Code:
int Main()
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew KalWindow());
return 0;
}
hier möchte ich die Labels jetzt als Beispiel auf a immer ändern... klappt aber nicht, es passiert garnix weil ich mit gcnew eine neue Instanz der Form wohl aufrufe?! Meine frage ist halt wie ich das lösen kann ohne gcnew.
wenn ich nur KalWindow^ form1; benutze -> crash..
Code:
void MyRecv(char* szBuffer,int iLenght)
{
switch(szBuffer[2])
{
case 0x32:
{
KalWindow^ form1 = gcnew KalWindow();
form1->UpdateLabels("a","a","a");
}
break;
}
}
Code:
public: void UpdateLabels(String ^lbl1, String ^lbl2, String^ lbl3)
{
label1->Text = lbl1;
label2->Text = lbl2;
label3->Text = lbl3;
}
|
|
|
10/17/2012, 03:30
|
#2
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Übergebe einen Zeiger auf deine KalWindow Instanz und rufe deren Methoden auf?
|
|
|
10/17/2012, 03:55
|
#3
|
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
|
Quote:
Originally Posted by SmackJew
Übergebe einen Zeiger auf deine KalWindow Instanz und rufe deren Methoden auf?
|
Ich bin glaube ich schon zu lange daran =D könntest du mir netterweise Zeigen was du meinst? ._.
|
|
|
10/17/2012, 04:19
|
#4
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Quote:
Originally Posted by bloodx
Ich bin glaube ich schon zu lange daran =D könntest du mir netterweise Zeigen was du meinst? ._.
|
Kenne mich mit dem C++/CLI Zeug nicht aus, aber die Syntax scheint so auszusehen:
Code:
int Main()
{
KalWindow^ mainform = gcnew KalWindow();
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(mainform);
return 0;
}
void MyRecv(char* szBuffer, int iLenght, const KalWindow ^ form)
{
form->UpdateLabels("a","a","a");
}
Und dann eben mit
Code:
MyRecv("bla", 3, mainform);
übergeben.
Ich weiß leider nicht genug über dein Projekt, ist das MyRecv ein Hook und wird vom Spiel gecallt? Dann könntest du dein Form Handle zum Beispiel in einem Singleton kapseln und so von MyRecv drauf zugreifen, oder das ganze einfach global machen.
|
|
|
10/17/2012, 04:39
|
#5
|
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
|
Danke für die Hilfe
Die idee hatte ich auch schon probiert nur kann ich keine Globale Dekladieren mit KalWindow^ mainform; z.b
Code:
Fehler 1 error C3145: "mainform": Eine globale oder statische Variable darf nicht den verwalteten Typ "TestForm::KalWindow ^" aufweisen.
und ja MyRecv ist ein Hook
|
|
|
10/17/2012, 05:01
|
#6
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Hm dann ist das wahrscheinlich nur in einer Klasse erlaubt:
Code:
public ref class KalWindowManager {
public:
static KalWindow^ form;
}
Code:
int Main()
{
KalWindowManager::form = gcnew KalWindow();
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(KalWindowManager::form);
return 0;
}
void MyRecv(char* szBuffer, int iLenght)
{
KalWindowManager::form->UpdateLabels("a","a","a");
}
Ob das ganze so funktioniert weiß ich leider nicht, habe auch wenig Motivation mir die syntaktischen Feinheiten von C++/CLI anzueignen. :P
Schöner wäre es sicher als Singleton, und das macht auch Sinn wenn du ohnehin nur ein KalWindow hast, gibt sicher einige Beispiele für Singletons in C++/CLI.
|
|
|
10/17/2012, 09:48
|
#7
|
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
|
Dein wechsel von C++ auf C++/CLI auf C# und wieder zurück auf C++/CLI in nur wenigen Stunden ist ziemlich interessant Kevin. :>
Mit der Methode wirst du übrigens noch auf viel mehr Probleme stoßen, ich hab dir gestern schon mehrmals gesagt du sollst vernünftig arbeiten. GUI im recv ändern? Ich bitte dich, hör auf bei Bakabug's altem code abzuschauen.
|
|
|
10/17/2012, 09:50
|
#8
|
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
|
Quote:
Originally Posted by MoepMeep
Dein wechsel von C++ auf C++/CLI auf C# und wieder zurück auf C++/CLI in nur wenigen Stunden ist ziemlich interessant Kevin. :>
Mit der Methode wirst du übrigens noch auf viel mehr Probleme stoßen, ich hab dir gestern schon mehrmals gesagt du sollst vernünftig arbeiten. GUI im recv ändern? Ich bitte dich, hör auf bei Bakabug's altem code abzuschauen.
|
Ich will informationen aus dem RECV ausgeben in einer Textbox halt wie soll ich es sonst machen?
Naja das gefällt mir bisher besser als diese C# lösung :x
|
|
|
10/17/2012, 09:55
|
#9
|
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
|
MVC anyone? ;o
|
|
|
10/17/2012, 11:32
|
#10
|
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
|
Jemand noch eine Idee wie ich es anders lösen konnte?
oder muss ich doch wieder auf WinAPI zurück greifen?
|
|
|
 |
Similar Threads
|
[Part2]C# - Checkboxes (Windows Form)
04/27/2010 - CO2 Programming - 5 Replies
Part 2 - Checkboxes
Okay now you have learned about buttons and textboxes at basics.
What is checkboxes used for?
A checkbox is used to check for more choices.
You can use it for making vote buttons, using them instead putting 100Buttons or anything else.
Checkboxes are pretty cool to use in a windows form application.
Now we are gonna look at checkboxes.
First you have to make 2 checkboxes.
|
windows form
04/20/2010 - CO2 Private Server - 4 Replies
okay i made this windows form application.
But how do i save it as a program, so i can make it to a rar file, so it can be used.
lol is an easy question, dont flame me or ill report.
And close this after i got answer.
|
C# Windows Form Application Errors
02/17/2010 - CO2 Private Server - 4 Replies
When I open up a new project, even before I do anything I get these errors in Program.cs:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fal se);
Application.Run(new Form1());
How can I fix these?
|
Image on Windows Form,
02/08/2010 - CO2 Private Server - 6 Replies
Anyone knows how to add the very small Image, of an Application Icon on a C# Windows form Application, Like,
http://img237.imageshack.us/img237/5849/imageke.p ng
flako27-
|
Windows form...
11/15/2008 - CO2 Private Server - 9 Replies
//
|
All times are GMT +1. The time now is 16:39.
|
|