wxWidgets Debug Alert?

Hallo zusammen,

ich versuche gerade, GUI-Anwendungen mit C++ zu erstellen. Dazu nutze wxWidgets.

Nun habe ich wxWidgets in mein Projekt (Visual Studio 2019 Community) eingebunden. Wenn ich aber das Projekt starten möchte, kommt die im Bild (unten) dargestellte Fehlermeldung.

Ich nutze folgenden Quellcode:

#include <wx/wxprec.h>

#ifndef WX_PRECOMP
  #include <wx/wx.h>
#endif

class MyApp : public wxApp
{
  public:
    virtual bool OnInit();
};

class MyFrame : public wxFrame
{
  public:
    MyFrame();

  private:
    void OnHello(wxCommandEvent& event);
    void OnExit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);
};

enum
{
  ID_Hello = 1
};

wxIMPLEMENT_APP(MyApp); //Hier tritt der Fehler auf

bool MyApp::OnInit()
{
  MyFrame *frame = new MyFrame();
  frame->Show(true);
  return true;
}

MyFrame::MyFrame() : wxFrame(NULL, wxID_ANY, "Hello World")
{
  wxMenu *menuFile = new wxMenu;
  menuFile->Append(ID_Hello, "&Hello...\tCtrl-H", "Help string shown in status bar for this menu item");
  menuFile->AppendSeparator();
  menuFile->Append(wxID_EXIT);

  wxMenu *menuHelp = new wxMenu;
  menuHelp->Append(wxID_ABOUT);
  wxMenuBar *menuBar = new wxMenuBar;
  menuBar->Append(menuFile, "&File");
  menuBar->Append(menuHelp, "&Help");
  SetMenuBar(menuBar);

  CreateStatusBar();
  SetStatusText("Welcome to wxWidgets!");

  Bind(wxEVT_MENU, &MyFrame::OnHello, this, ID_Hello);
  Bind(wxEVT_MENU, &MyFrame::OnAbout, this, wxID_ABOUT);
  Bind(wxEVT_MENU, &MyFrame::OnExit, this, wxID_EXIT);
}

void MyFrame::OnExit(wxCommandEvent& event)
{
  Close(true);
}

void MyFrame::OnAbout(wxCommandEvent& event)
{
  wxMessageBox("This is a wxWidgets Hello World example", "About Hello World", wxOK | wxICON_INFORMATION);
}

void MyFrame::OnHello(wxCommandEvent& event)
{
  wxLogMessage("Hello world from wxWidgets!");
}

Das ist die Fehlermeldung:

Vielen Dank euch schon einmal im Voraus. 🙂

wxWidgets Debug Alert?
PC, Computer, Technik, Programmieren, cplusplus, Visual Studio
C# kann Variable in der selben Klasse nicht benutzen?

Moin,

Bin grad dran einen Launcher zu erstellen und hab eine Funktion gemacht womit man eine Exe Datei wählen kann die als String Variable namens filePath gespeichert wird, wenn ich diese rufen will damit der Launch Button weiß was er starten soll bekomme ich den Error "Der Name "filePath" ist im aktuellen Kontext nicht vorhanden."

Wie kann ich hin bekommen das die Variable von der gesamten Klasse verwendet werden kann?

Code in Frage:

        private void button8_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog openFileDialog = new OpenFileDialog())
            {
                openFileDialog.InitialDirectory = "c:\\";
                openFileDialog.Filter = "Exe Files (.exe)|*.exe"; ;
                openFileDialog.FilterIndex = 2;
                openFileDialog.RestoreDirectory = true;


                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    String filePath = openFileDialog.FileName;
                    textBox1.Text = filePath;
                }
            }
        }


        private void button7_Click(object sender, EventArgs e)
        {
            string WindowsUser = Environment.UserName;
            string GameName = "Game";
            System.Diagnostics.Process.Start($@"C:\Users\{WindowsUser}\AppData\Local\{GameName}\Saved\SaveGames.");
        }


        private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start($"{filePath}");
        }
    }
}
Computer, Technik, Programmieren, Coden, C Sharp, Code, Informatik, Visual Studio
VB: Quelldatei verschieben?

Hallo zusammen,

ich bin gerade in einem Projekt, wo man einen Dateiordner und seine Inhalte verschieben kann. Doch irgendwie kann ich nur eine Datei verschieben.

Hier der Code:

Public Class Form1
  Dim Dateipfad As String
  Dim Zielpfad As String
  Dim Endung As String

  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
      Dateipfad = OpenFileDialog1.FileName
      TextBox1.Text = Dateipfad
      Endung = System.IO.Path.GetExtension(Dateipfad)
      SaveFileDialog1.FileName = System.IO.Path.GetFileNameWithoutExtension(Dateipfad)
    End If
  End Sub

  Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
      Zielpfad = SaveFileDialog1.FileName

      Try
        My.Computer.FileSystem.MoveFile(Dateipfad, Zielpfad & Endung)
        MsgBox("Datei erfolgreich verschoben!")
      Catch ex As Exception
        MsgBox("Folgender Fehler ist aufgetreten: " & ex.Message)
      End Try
    End If
  End Sub

  Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
  End Sub

  Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click
  End Sub

  Private Sub Label4_Click(sender As Object, e As EventArgs) Handles Label4.Click
  End Sub

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  End Sub

  Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
  End Sub
End Class

Und hier wie es aussieht:

Bitte helft mir.

Danke im Voraus.

VB: Quelldatei verschieben?
Computer, Programmieren, Visual Studio
C# FileSystemWatcher Disposed sich von selbst?

Hallo,

warum auch immer, aber mein FileSystemWatcher Disposed sich immer von selbst. Ich benutze eine Console Anwendung (.Net Framework.4.8).

Das komische, ich habe das mal bei Windows Forms benutzt vor 2 Tagen, da lief es wunderbar, warum disposed der sofort in der Console?

log.Info(Path.GetDirectoryName(args[0]));
            try
            {
                using (fileSystemWatcher = new FileSystemWatcher(Path.GetDirectoryName(args[0])))
                {
                    fileSystemWatcher.IncludeSubdirectories = true;
                    fileSystemWatcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.Size | NotifyFilters.Attributes | NotifyFilters.CreationTime;
                    fileSystemWatcher.Filter = "*.js";
                    fileSystemWatcher.Changed += new FileSystemEventHandler(JSChanged);
                    fileSystemWatcher.Disposed += new EventHandler(JSDisposed);
                    fileSystemWatcher.Error += new ErrorEventHandler(JSError);
                    fileSystemWatcher.EnableRaisingEvents = true;
                }
            }
            catch(Exception ex)
            {
                log.Error(ex.Message);
            }

Der Ordnerpfad ist korrekt, das habe ich oben mit log.Info geprüft. Habe ich irgendwas übersehen?

Es wird das fileSystemWatcher.Disposed Event aufgerufen

Danke schon mal im Voraus

C# FileSystemWatcher Disposed sich von selbst?
Computer, Programmieren, Coden, CS, CSharp, Visual Studio, .net-Framework, CSharp Programmierung
Hilfe bei Windows Forms Freihandunterstützung?

Hi,

ich komme igendwie nicht mehr weiter. Ich versuche In meiner Windowsforms(KEIN WPF) eine freihandunterstützung einzubauen. Gegoggelt habe ich ich schon gefühlt alles. Bevor ich allerdings aufgebe wollte ich es nochmal hier versuchen. Ich habe Teile meines codes aus dem Beispiel von Microsoft für WPF kopiert

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Ink;
using Windows.Storage.Streams;
using Windows.UI.Input.Inking;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Media;


namespace Daily_Planner
{
    public partial class Form2 : Form
    {
        private InkCanvas inkCanvas;
        private InkToolbar inktoolbar;
        public Form2()
        {
            InitializeComponent();
            inkCanvas = new InkCanvas();
            //inkCanvas.FocusVisualPrimaryBrush = ImageBrush;
            inktoolbar = new InkToolbar();


            inktoolbar.VerticalAlignment = VerticalAlignment.Top;
            inktoolbar.Margin = new Thickness(10,0,10,0);
            inktoolbar.TargetInkCanvas = inkCanvas;
        }

Das ist erstmal nur der Teil, wo ich die Obijekte erstmal erstellen wollte. Hatte allerdings schon Probleme bei der Zuweisung vom FocusVisualPrimaryBrush, deshalb auch kommentiert.

Außerdem habe ich das gefühl, das was ich bis jetzt habe funktioniert auch nicht. Es sind zwar keine Fehlermeldungen, aber ich sehe weder die Toolbar noch kann ich nirgendswo auf dem InkCanvas malen.

Falls jemand weiter weiß bitte keine Links sondern eine direkte Erklärung, wie schon erwähnt im Internet war ich schon überall.

Vielen Dank schonmal!

Computer, Programmieren, CSharp, Informatik, Visual Studio
minGW 64 glew fehlermeldung?

Hallo,

Ich habe ein Projekt erstellt und mit glew und SDL2 gelinkt.

Doch wenn ich irgendeine OpenGL funktionaufrufen will kommen folgende fehlermeldungen:

undefined reference to `__glewBindBuffer'
undefined reference to `__glewBufferData'
undefined reference to `__glewEnableVertexAttribArray'
undefined reference to `__glewVertexAttribPointer'
undefined reference to `glClearColor@16'
undefined reference to `glClear@4'
undefined reference to `glDrawArrays@12'

ich extrahiere es folgender maßen:

 g++ main.cpp -o opengl_tutorial -opengl32 -lSDL2 -lglew32

und meine main.cpp sieht folgendermaßen aus:

#include <iostream>
#define GLEW_STATIC
#include <GL/glew.h>
#define SDL_MAIN_HANDLED
#include <SDL2/SDL.h>


typedef int8_t int8;
typedef int16_t int16;
typedef int32_t int32;
typedef int64_t int64;


typedef uint8_t uint8;
typedef uint16_t uint16;
typedef uint32_t uint32;
typedef uint64_t uint64;


typedef float float32;
typedef double float64;


struct Vertex {
    float32 x;
    float32 y;
    float32 z;
};


int main(int argc, char** argv) {
    SDL_Window* window;
    SDL_Init(SDL_INIT_EVERYTHING);


    SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
    SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
    SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
    SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
    SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32);
    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);


    window = SDL_CreateWindow("C++ OpenGL Tutorial", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_OPENGL);
    SDL_GLContext glContext = SDL_GL_CreateContext(window);


    glewInit();
    std::cout << "OpenGL version: " << glGetString(GL_VERSION) << std::endl;


    Vertex vertices[] = {
        Vertex{-0.5f, -0.5f, 0.0f},
        Vertex{0.0f, 0.5f, 0.0f},
        Vertex{0.5f, -0.5f, 0.0f}
    };
    uint32 numVertices = 3;


    GLuint vertexBuffer;
    glGenBuffers(1, &vertexBuffer);
    glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
    glBufferData(GL_ARRAY_BUFFER, numVertices * sizeof(Vertex), vertices, GL_STATIC_DRAW);


    glEnableVertexAttribArray(0);
    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*) offsetof(struct Vertex,x));


    bool close = false;
    while(!close) {
        glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);


        glDrawArrays(GL_TRIANGLES, 0, numVertices);


        SDL_GL_SwapWindow(window);
        
        SDL_Event event;
        while(SDL_PollEvent(&event)) {
            if(event.type == SDL_QUIT) {
                close = true;
            }
        }
    }


    return 0;
}

die ganzen glew und SDL sachen funktionieren. Nur die OpenGL funktionen nicht.

Ich arbeite auf Windows 10; )

Ich hoffe ihr könnt mir weiter helfen.

Programmieren, cplusplus, OpenGL, Visual Studio, Windows 10
Arduino funktioniert nicht?

Hallo zusammen,

Ich wollte eben wieder etwas mit meinem Arduino machen. Um genau zu sein, einen einfachen 9g Servo steuern.

Allerdings lässt sich nichts auf den Arduino schreiben.

Com-Anschlussnummer habe ich jetzt auch schon mehrmals geändert. Auchanders Kable, anderen USB Port usw. Hat aber nichts gebracht.

(Was mir übrigens auch noch aufgefallen ist: Die grüne LED auf dem Arduino leuchtet durchgehend und blinkt nicht beim versuch ihn zu beschreiben.)

Bekomme immer diese Fehlermeldung:

avrdude: ser_open(): can't open device "\\.\COM3": Das System kann die angegebene Datei nicht finden.




avrdude: ser_drain(): read error: Das Handle ist ung�ltig.




avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




Der ausgewählte serielle Port 
 ist nicht vorhanden oder das Board ist nicht angeschlossen
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer


Wäre sehr dankbar, wenn mir jemand helfen könnte.

Computer, Software, Microsoft, Programm, Netzteil, Hardware, Elektronik, Programmieren, Elektrik, Gaming, Motor, arduino, C-plus-plus, Coding, CPP, Microcontroller, Visual Studio, Servo, Arduino Uno, Arduino IDE

Meistgelesene Fragen zum Thema Visual Studio