Laden...

Forenbeiträge von sbertl000 Ingesamt 822 Beiträge

02.08.2007 - 10:41 Uhr

Hy

Ich habe Oracle XE installiert und will mich mittels localhost:8080/apex in das Webinterface einloggen.
Ich gebe den Usernamen "system" ein und das richtige Passwort dazu, drücke Login und die Seite wird nur aktualisiert und ich werde nicht angemeldet.

Der User und das PW sind richtig, da, wenn ich einen falschen User/PW eingebe eine Meldung kommt.

Aber in dem Fall kommt nix, absolut garnichts.

Ich hoffe Ihr könnt mir helfen.

sbertl

29.07.2007 - 19:05 Uhr

Also mit Mono kannst du ASP.NET auf Linux/Mac OS laufen lassen, das funktioniert sehr gut.

Zu 2tens: Prinzipiell sollte das funktionieren, man muss ja nur den richtigen Compiler anwenden...

sbertl

29.07.2007 - 09:18 Uhr

Original von Golo
Was mich auch interessieren würde, wäre ein Export von HTML in Word ... kennt hierzu jemand etwas?

mit Microsoft.Office.Interop.World den HTML Output in ein Word Dokument umleiten.

sbertl

26.07.2007 - 10:52 Uhr

Such doch mal im Forum, das wurde schon sehr oft diskutiert.

sbertl

25.07.2007 - 13:30 Uhr

Du brauchst CustomVertex.PositionNormalColored Objekte.

sbertl

25.07.2007 - 09:43 Uhr

Ich hab mich jetzt ein bisschen gespielt, der freie Flug funktioniert aber nur bedingt. Die Rotationen um die Y Achse funktionieren einwandfrei, aber wenn man sich ein bisschen bewegt und dann z.B.: nach bben fliegen will, fliegt die Kamera nach unten?!? Am Anfang funktioniert alles, aber wenn ich mich mit der Kamera um PI drehe und von der anderen Seite auf mein Modell schaue, entsteht der oben genannte Effekt.

Ich habe ein Bild angehängt um das ganze zu verdeutlichen. Der schwarze Pfeil ist die Blickrichtung der Kamera, diese bleibt unverändert. drück ich jetzt W bewegt sich die Kamera am roten Pfeil entlang, die Blickrichtung bleibt aber gleich.

Hier meine SetupCamera Methode, diese wird in Draw() aufgerufen, bevor ich meinen Mesh zeichne:


private void SetupCamera()
        {
            Matrix rotationMatrix = Matrix.CreateRotationY(cameraYaw) * Matrix.CreateRotationX(cameraPitch);

            Vector3 cameraTarget = cameraTargetReference;
            cameraTarget = Vector3.Transform(cameraTarget, rotationMatrix);
            cameraTarget += cameraPosition - cameraPositionReference;

            view = Matrix.CreateLookAt(cameraPosition, cameraTarget, Vector3.Up);
            view *= rotationMatrix;
        }

In Update() handle ich die Keyboard eingaben so:

KeyboardState kState = Keyboard.GetState();
            if (kState.IsKeyDown(Keys.W))
            {
                Matrix forwardMove = Matrix.CreateRotationY(cameraYaw) * Matrix.CreateRotationX(cameraPitch);
                Vector3 v = new Vector3(0, 0, SPEED);
                v = Vector3.Transform(v, forwardMove);
                cameraPosition.Z += v.Z;
                cameraPosition.X -= v.X;
                cameraPosition.Y += v.Y;
            }
            if (kState.IsKeyDown(Keys.S))
            {
                Matrix backwardMove = Matrix.CreateRotationY(cameraYaw) * Matrix.CreateRotationX(cameraPitch);
                Vector3 v = new Vector3(0, 0, -SPEED);
                v = Vector3.Transform(v, backwardMove);
                cameraPosition.Z += v.Z;
                cameraPosition.X -= v.X;
                cameraPosition.Y += v.Y;
            }
            if (kState.IsKeyDown(Keys.A))
            {
                Matrix leftMove = Matrix.CreateRotationY(cameraYaw);
                Vector3 v = new Vector3(-SPEED, 0, 0);
                v = Vector3.Transform(v, leftMove);
                cameraPosition.Z += v.Z;
                cameraPosition.X -= v.X;
            }
            if (kState.IsKeyDown(Keys.D))
            {
                Matrix rightMove = Matrix.CreateRotationY(cameraYaw);
                Vector3 v = new Vector3(SPEED, 0, 0);
                v = Vector3.Transform(v, rightMove);
                cameraPosition.Z += v.Z;
                cameraPosition.X -= v.X;
            }

Ich hoffe, jemand kann mir helfen

sbertl

24.07.2007 - 16:02 Uhr

Also in XNA kannst du deinen Mesh (wenn du ihn als content kompilieren lässt) einfach mit dem ContentManager laden:


Model mesh = content.Load<Model>("Content\\Models\\myMesh");

In DirectX mit


Mesh.FromFile

Also ich verwende meistens Meshes, von der Performance her, würd ich sagen, das macht kaum Unterschiede, die Meshes sind ja letztendlich auch nur Dreiecke...

sbertl

23.07.2007 - 12:56 Uhr

Die Kamera soll nachher natürlich wieder in die selbe Richtung schauen.

Bis jetzt hab ich nur eine Rotation der Kamera mit der Maus realisiert.

Dazu habe ich zwei floats "xRot" und "yRot", die mir die Rotationen angeben.

Wie kann ich jetzt meinen cameraPosition Vector3 mit diesen Rotationswerten verschieben, wenn ich W, A, S oder D drücke?

sbertl

23.07.2007 - 11:15 Uhr

Hy

Nein, das war es nicht, was ich meine, das wusste ich schon alles 😉 Die Kamerabewegungen und so sind mir klar, ich kann die Kamera um ihre Achse rotieren lassen und so.

Aber ich will jetzt eine freie Kamera realisieren.

Schaut man jetzt zum Beispiel mit der Kamera auf einen bestimmten Punkt (die freie Drehung hab ich schon gemacht) und drückt W, dann soll sich die Kamera zu diesen Punkt hinbewegen.

Ich hoffe ihr versteht, was ich meine. So eine absolut freie "Flugkamera" praktisch...

sbertl

23.07.2007 - 08:52 Uhr

Hy

Ich habe ein Programm mit XNA geschrieben und will dort die Kamera absolut frei bewegen können, d.h. drückt man w, dann bewegt sich die Kamera in die Richtung, in die man schaut. Sie soll sich eben frei im Raum bewegen können.

Ich hab wirklich nichts gefunden, hat jemand ein Beispiel dazu?

Muss ich mir da alles mit den Winkeln selbst ausrechnen?

Ein Beispiel in DirectX ist mir auch recht, ist eh sehr ähnlich...

sbertl

04.07.2007 - 13:52 Uhr

Und wenn ich ihn aber geschlossen habe?

sbertl

04.07.2007 - 11:40 Uhr

Ich will meinen TcpChannel erneut verwenden, aber es kommt natürlich die Fehlermeldung:

Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden

Mit normalen Sockets würde ich das ja so machen:

mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);

sbertl

04.07.2007 - 08:56 Uhr

Ok, das war mir klar, wie man die Größe des Forms verändert...

Aber: Ich habe ein Form mit 800x600, demnach muss auch der BackBuffer auf 800x600 eingestellt werden, sonst wird das Form kleiner.

Jetzt hab ich aber ein Panel mit z.B.: 320x240 in das ich rendere, allerdings hat der BackBuffer immer noch 800x600 und somit werden diese 800x600 in das 320x240 Panel gerendert

sbertl

03.07.2007 - 17:25 Uhr

Ein Problem bleibt jedoch. Die Größe des Backbuffers muss ja auf die Größe des Forms eingestellt werden, sonst wird das Form kleiner. Mein Panel ist aber kleiner (z.B.: 320x240) doch der Backbuffer hat z.B.: 800x600...

sbertl

03.07.2007 - 17:23 Uhr

Verwende einen Hashtable bzw eine Dictionary<TKey, TValue>

sbertl

03.07.2007 - 10:00 Uhr

Und nochwas: Setze dein großes Panel nicht auf Dock:Fill sondern mach es kleiner (unten) un setz Anchor auf Top Left Right Bottom, dann setzt du noch die Eigenschaft AutoScroll den Panels auf true und schon kann man scrollen. 😉 Und die beiden Buttons rechts unten wandern auch nicht mit.

sbertl

03.07.2007 - 09:51 Uhr

Mir ist auch noch etwas aufgefallen. Wenn man ein Spiel anklickt, dann wird es ja blau hinterlegt und wenn ich mehrere hintereinander anklicke, dann werden alle blau

Außerdem könntest du eine Funktion zum Umbenennen der Einträge einbauen 😉

sbertl

03.07.2007 - 09:45 Uhr

Also ich wüsste nichts davon, dass man C Header in C# so einfach einfügen kann. Du kannst dein C Projekt als DLL kompilieren und das ganze dann per DllImport ansprechen, wie herbivore oben schon gesagt hat.

sbertl

02.07.2007 - 14:47 Uhr

Du hast schon recht, aber würde ich das bei XNA so machen könnte ich den vorgefertigten GraphicsDeviceManager und ContentManager nicht mehr verwenden. Dein Link beschreibt eh das, was ich oben schon gepostet habe:

graphics.PreparingDeviceSettings Event abfangen und dann

eventargs.GraphicsDeviceInformation.PresentationParameters.DeviceWindowHandle = BeliebigesControl.Handle;

Wie gesagt, es funktioniert, allerdings verliere ich Performance und ganz besonders, was bei MDX nicht passiert: Meine FPS Anzeige von Fraps oder anderen wird sehr klein und passt sich der AspectRation nicht an.

sbertl

02.07.2007 - 09:57 Uhr

Auf Windows Mobile wird das Fenster aber minimiert, wenn man auf das X klickt. Ein Ok rechts oben würde das Fenster schließen. Das kann man natürlich umstellen 😁

sbertl

02.07.2007 - 09:46 Uhr

Da du den Source Code nicht angehängt hast, hab ich mir dein Programm mit dem Reflector angeschaut und mir ist dabei etwas aufgefallen. Du greifst von deinem UserControl auf die statische "Program" Klasse zu, in der auch "Main()" ist:

private void panel2_MouseDown (object sender, MouseEventArgs e)
			
			{
				if (Program.selected != null)
				{
					Program.selected.panel1.BackColor = Color.White;
				}
				Program.selected = this;
				this.panel2.BackColor = Color.CornflowerBlue;
			}

internal sealed class Program
{
	public static gamepanel selected;
		
	[STAThreadAttribute()]
	private static void Main ()	
	{
		Application.EnableVisualStyles ();
		Application.SetCompatibleTextRenderingDefault (false);
		Application.Run (((Form) new Form1 ()));
	}
}

Das würde ich anders lösen, damit du dein Control auch in anderen Projekten besser verwenden kannst...

sbertl

02.07.2007 - 09:20 Uhr

Ja, das stimmt schon, aber das hat genau die selbe Auswirkung wie

eventargs.GraphicsDeviceInformation.PresentationParameters.DeviceWindowHandle = panel.Handle;

sbertl

01.07.2007 - 10:58 Uhr

Ich hab auch noch eine andere Möglichkeit gefunden, so kann man direkt in ein Control rendern:

graphics.PreparingDeviceSettings += new EventHandler<PreparingDeviceSettingsEventArgs>(graphics_PreparingDeviceSettings);
private void graphics_PreparingDeviceSettings(object sender, PreparingDeviceSettingsEventArgs eventargs)
        {
eventargs.GraphicsDeviceInformation.PresentationParameters.DeviceWindowHandle = handle; //handle ist ein IntPtr Handle eines Controls
        }

Allerdings ist die Performance mehr als grausig, so krieg ich gerade mal 20 fps zusammen mit einem einfachen Dreieck...

Es geht auch noch anders, indem man die Controls über das gerenderte Fenster legt. Im Konstruktor des Spiels z.B. folgendes hinzufügen:

System.Windows.Forms.Control gameWindow = System.Windows.Forms.Control.FromHandle(this.Window.Handle);
            panel = new System.Windows.Forms.Panel();
            panel.Bounds = new System.Drawing.Rectangle(700, 0, 100, 600);
            panel.Parent = gameWindow;

Dann liegt das Panel allerdings wieder über dem zu zeichnenden Bereich, was auch nicht ideal ist.

sbertl

30.06.2007 - 17:23 Uhr

Ok, so funktioniert das, aber dadurch muss ich doch wieder alles manuell machen. Das Game-Loop... Und ich hab auch dann keine Klasse mehr, die von Game erbt. Kann man das nicht anders realisieren?

sbertl

30.06.2007 - 12:49 Uhr

Und wo weiß ich das Handle zu? Und wo muss ich dann:

using (Game1 game = new Game1())
            {
                game.Run();
            }

plazieren, damit auch Form Events geworfen werden und die GUI nicht einfriert?

sbertl

30.06.2007 - 12:02 Uhr

Hy

Ist es möglich, XNA in ein Control zu rendern und nebenbei auch noch Controls auf meinem Formular zu haben? So, wie in dem angehängten Bild. Es soll in das blaue Panel gerendert werden.

sbertl

25.06.2007 - 17:41 Uhr

Außerdem, wie bekomme ich das Icon von dem Programm in das Picture Objekt?

Such mal nach "Icon auslesen" im Forum, das hatten wir schon öfters

sbertl

25.06.2007 - 17:32 Uhr

Also, das hat nichts gebracht, es scheint ja irgendwas mit meinem Farbverlauf nicht zu funktionieren (Orange bis Weiß)

hab die DrawItem Methode so geändert, aber das Problem bleibt:

private void ListViewEx_DrawItem(object sender, DrawListViewItemEventArgs e)
        {
            e.Graphics.Clip = new Region(e.Item.Bounds);
            if ((e.State & ListViewItemStates.Selected) != 0)
            {
                linearGb = new LinearGradientBrush(new Point(0, 0), new Point(e.Item.Bounds.Width, 0), Color.Orange, Color.White);
                e.Graphics.FillRectangle(linearGb, e.Item.Bounds);
            }
            else
                e.Graphics.FillRectangle(Brushes.White, e.Item.Bounds);

            if (this.View != View.Details)
            {
                e.DrawText();
            }
        }
25.06.2007 - 17:21 Uhr

Jetzt versteh ich nicht genau, was du meinst, welchen Hintergrund meinst du?

25.06.2007 - 16:52 Uhr

Und hier ein Beispielbild, wie es nach dem Ändern der Größe eine Column aussah. Außerdem wird die Schrift of fett dargestellt nach einem Mouseover, sieht auch komisch aus

sbertl

25.06.2007 - 16:45 Uhr

Also mit e.Graphics.Clip lässt sich Problem 1 nicht lösen...
Und das mit der eigenartigen Grafik ist auch noch da

Ich poste mal die ganze Klasse:

class ListViewEx : ListView
    {
        private LinearGradientBrush linearGb = null;

        public ListViewEx()
        {
            this.OwnerDraw = true;
            this.DoubleBuffered = true;
            this.DrawItem += new DrawListViewItemEventHandler(ListViewEx_DrawItem);
            this.DrawSubItem += new DrawListViewSubItemEventHandler(ListViewEx_DrawSubItem);
            this.DrawColumnHeader += new DrawListViewColumnHeaderEventHandler(ListViewEx_DrawColumnHeader);
        }

        void ListViewEx_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
        {
            e.DrawDefault = true;
        }

        private void ListViewEx_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            e.Graphics.Clip = new Region(e.SubItem.Bounds);
            e.Graphics.DrawString(e.SubItem.Text, this.Font, Brushes.Black, e.Bounds);
        }

        private void ListViewEx_DrawItem(object sender, DrawListViewItemEventArgs e)
        {
            e.Graphics.Clip = new Region(e.Item.Bounds);
            if ((e.State & ListViewItemStates.Selected) != 0)
            {
                linearGb = new LinearGradientBrush(new Point(0, 0), new Point(e.Item.Bounds.Width, 0), Color.Orange, Color.White);
                e.Graphics.FillRectangle(linearGb, e.Item.Bounds);
            }

            if (this.View != View.Details)
            {
                e.DrawText();
            }
        }

        private void InitializeComponent()
        {
            this.SuspendLayout();
            // 
            // ListViewEx
            // 
            this.ResumeLayout(false);
        }
    }
25.06.2007 - 16:41 Uhr

Ob es bei Windows vlt auch eine Art Nice Wert gibt?, aber ob du genau 20% einstellen kannst, ist fraglich...

sbertl

25.06.2007 - 16:35 Uhr

Und noch was, wann macht er Sinn in meinem Control Invalidate aufzurufen? Wenn ich zum Beispiel in meinem ListView herumscrolle nach links und rechts, sieht das sehr komisch aus:

sbertl

25.06.2007 - 16:11 Uhr

Danke, das hat mir geholfen, allerdings tritt auch da ein Effekt auf, den ich verhindern will. Wenn ich eine Row habe, die ein paar SubItems habe und darunter eine mit nur einem Item und dann die Column 2 verkleinere wird alles zusammengeschoben, ich habe ein Bild angehängt. Da sieht man den Effekt

Eigentlich sollte die Zeile 2 und die Zeilen 4,5,... auch abgeschnitten werden

24.06.2007 - 19:38 Uhr

Gut, dann werd ich es so machen, allerdings ist das Problem mit this.SelectedItems.Contains(e.Item) noch nicht gelößt, deine gepostete Lösung funktioniert nicht.

...aber e.State == ListViewItemStates.Selected funzt nicht...

sbertl

//EDIT

und so gehts trotzdem noch immer nicht, es überlagert sich noch immer:

private void ListViewEx_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            //if (e.ColumnIndex != 0)
            {
                e.Graphics.Clip = new Region(e.SubItem.Bounds);
                e.Graphics.DrawString(e.SubItem.Text, this.Font, Brushes.Black, e.SubItem.Bounds.Location);
            }
        }

Ich zeichne keinen Text mehr in "DrawItem"

24.06.2007 - 19:29 Uhr

Ok, das hat funktioniert, allerdings geht es nur bei allen SubItems, d.h. wenn sich das erste ITEM und das erste SUBITEM überlagern, dann wird der Text nicht abgeschnitten, da ich ja in 2 Methoden zeichne:

private void ListViewEx_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            if (e.ColumnIndex != 0)
            {
                e.Graphics.Clip = new Region(e.SubItem.Bounds);
                e.Graphics.DrawString(e.SubItem.Text, this.Font, Brushes.Black, e.SubItem.Bounds.Location);
            }
        }

        private void ListViewEx_DrawItem(object sender, DrawListViewItemEventArgs e)
        {
            if (this.SelectedItems.Contains(e.Item))
            {
                linearGb = new LinearGradientBrush(new Point(0, 0), new Point(e.Item.Bounds.Width, 0), Color.Orange, Color.White);
                e.Graphics.FillRectangle(linearGb, e.Item.Bounds);
            }
            e.Graphics.Clip = new Region(e.Item.Bounds);
            e.Graphics.DrawString(e.Item.Text, this.Font, Brushes.Black, e.Item.Position);
        }
24.06.2007 - 19:19 Uhr

Leider wird bei DrawItem und DrawSubItem Objekte vom Typ DrawListViewItemEventArgs bzw. DrawListViewSubItemEventArgs übergeben, die haben keine Eigenschaft ClipRectangle...

sbertl

24.06.2007 - 19:05 Uhr

Außerdem, wenn ich meine Columns kleiner mache, dann überlagern sich die Texte.
Meine Frage: Muss ich jetzt manuell die Länge messen und je nachdem x Zeichen löschen und "..." anfügen, oder gibts da schon was?

sbertl

23.06.2007 - 17:09 Uhr

Danke, so gehts, aber e.State == ListViewItemStates.Selected funzt nicht...

sbertl

23.06.2007 - 16:47 Uhr

Jo, e.DrawDefault kenn ich schon und verwende ich auch 😉

Allerdings funktioniert das selektierten mit ListViewItemStates.Selected nicht.

Und wenn ich auch in DrawItem zeichne, kommt sowas raus wie im Bild. Hier mein Code:

private void ListViewEx_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            e.Graphics.DrawString(e.SubItem.Text, this.Font, Brushes.Black, e.SubItem.Bounds.Location);
        }

        private void ListViewEx_DrawItem(object sender, DrawListViewItemEventArgs e)
        {
            if (e.State == ListViewItemStates.Selected)
            {
                linearGb = new LinearGradientBrush(new Point(0, 0), new Point(e.Item.Bounds.Width, 0), Color.Orange, Color.White);
                e.Graphics.FillRectangle(linearGb, e.Item.Bounds);
            }
            e.Graphics.DrawString(e.Item.Text, this.Font, Brushes.Black, e.Item.Position);
        }

sbertl

23.06.2007 - 16:29 Uhr

Ein weiteres Problem ist aufgetaucht, ich zeichne so:

private void ListViewEx_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            e.Graphics.DrawString(e.SubItem.Text, this.Font, Brushes.Black, e.SubItem.Bounds.Location);
        }

        private void ListViewEx_DrawItem(object sender, DrawListViewItemEventArgs e)
        {
            if (this.SelectedItems.Contains(e.Item))
            {
                e.Graphics.FillRectangle(Brushes.Orange, e.Item.Bounds);
            }
        }

Wenn auf View=Details gestellt ist, dann wird jedes Item auch als SubItem gesehen, dh. ich zeichne Texte und so nur im DrawSubItem, stell ich jetzt View auf List, dann wird natürlich kein Text gezeichnet. Soll ich jz einfach in DrawItem eine Abfrage machen, welcher View eingestellt ist und je nachdem zeichnen, oder geht das eleganter?

sbertl

23.06.2007 - 16:08 Uhr

Ich habs, man muss natürlich an der Position e.Item.Position zeichnen.

Dachte nur, dass das Graphics Objekt das gleich so managed...

sbertl

23.06.2007 - 15:52 Uhr

Also, entweder ich mach was falsch, oder ich muss dir ausnahmsweiße mal widersprechen, ich zeichne so:

private void ListViewEx_DrawItem(object sender, DrawListViewItemEventArgs e)
        {
            e.Graphics.DrawString(e.Item.Text, this.Font, Brushes.Black, new PointF(0, 0));
        }

Und das Ergebnis sieht so aus:

23.06.2007 - 15:43 Uhr

Noch ne Frage:

Und zwar, ich muss ja wissen, an welcher Position gezeichnet wird, muss ich mir jetzt die Höhe des ColumnHeaders ausrechnen, dazu die Höhe der Items mit MeasureString ausrechnen, dann noch den Abstand zwischen den Zeilen,... und so dann zeichnen?

Und das ganze dann nochmal mit der Breite.

Oder geht das einfacher?

sbertl

22.06.2007 - 17:33 Uhr

Das heißt ich muss mal OwnerDraw auf true setzen und dann in den Events DrawItem und DrawSubItem zeichnen, prüfen ob e.Item selektiert ist und je nachdem hinterlegt oder nicht hinterlegt zeichnen, stimmt doch so, oder? 😁

sbertl

22.06.2007 - 15:38 Uhr

Hy

Ich habe mir eine Klasse von ListView abgeleitet. Jetzt will ich so etwas zeichnen, wie in meinem angehängten Bild.
Wie zeichne ich das? Ich kann ja OnPaint überschreiben, aber wenn ich base.OnPaint dann weglasse muss ich ja einen gesamten ListView zeichnen...
Ich will aber nur das selektierte Item farblich unterlegen, wie mache ich das?

Oder wenn ich einen Klasse von Button ableite und diesen auch nur farblich unterlegen will und z.B. den Text vom Button zeichnen lassen will?

sbertl

21.06.2007 - 17:06 Uhr

Bei Visual Studio 2005 C# gibt es ja keine Setup Möglichkeit soviel ich weiß?

Doch, gibt es, unter andere Projekttypen - Setupprojekt

sbertl

21.06.2007 - 15:12 Uhr

Warum darf man denn den Standardpfad nicht ändern?

sbertl

21.06.2007 - 15:00 Uhr

Das lässt sich doch einfach über die Suche nach deinem eigenen Nickname machen. Da siehst du dann eh, ob ein Brief orange ist oder nicht.

sbertl

18.06.2007 - 17:58 Uhr

Setz doch einfach einen Haltepunkt im catch-Block

sbertl