Announcement

Collapse
No announcement yet.

Problem - beim Kompilieren? weiß nicht so recht...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem - beim Kompilieren? weiß nicht so recht...

    Hallo!
    Ich hab seit einem Tag folgendes Problem:
    Ich habe in dem Projektpfad, den ich benutzte, eine Datei gelöscht, von der ich gedacht habe, dass ich sie nicht mehr benötige (symbol.ico, war mal das Symbol der Anwendung).
    Beim nächsten Start von VB und nach dem Laden des Projekts, zeigt mir VB an, dass eine Datei feht.
    Ok, in Ordnung, ich hab die Symboldatei wiederhergestellt. Aber von da an hat gar nix mehr funktioniert:
    die Datei "language\lang.txt" ist DEFINITIV vorhanden, und die will VB jetz nicht mehr gefunden haben! Wenn ich den Debugmodus starte, zeigt VB mir dauernd ne NullReferenceException an - eben weil die Datei angeblich nicht vorhanden ist.
    Wenn ich dagegen die Anwendung manuell im Ordner "Debug" starte, funktioniert alles tadellos!

    Hat vielleicht jemand ne Ahnung, woran das liegen kann? Vielleicht irgendwo ne Umgebungsvariable falsch eingestellt? Aber unter Projekteinstellung/Kompilieren ist unter "Debug" nach wie vor "bin\Debug\" eingestellt. Daran sollts eigentlich nicht liegen. Hab schon alles versucht. Es ist zum Verrücktwerden.
    Ich hoffe, es kann mir jemand dabei helfen!

    Grüße, Tobi

  • #2
    Hallo,

    spontan fällt mir ein.

    Die Datei ist/war als eingebette Ressource gelinkt. Nachdem die Datei gelöscht wurde ist sie auch als Resource nicht mehr vorhanden und deshalb wird eine Exception ausgelöst. Also muss bei den Dateieigenschaften unter 'Buildvorgang' wieder Eingebette Resource eingesellt werden.

    Es kann auch sein dass der Verweis auf das Icon (Symbol) wieder hergestellt werden muss (entspricht obigen, nur per Designer).

    Hoffe es hilft.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Danke für Deine Antwort!
      Den ersten Tip hab ich befolgt, und mit Erstaunen festgestellt, dass ich wieder eine neue Funktion in VB entdeckt hab... Also das wars ned, ich hab ja die Funktion vorher auch gar ned gekannt.

      Originally posted by gfoidl View Post
      Es kann auch sein dass der Verweis auf das Icon (Symbol) wieder hergestellt werden muss (entspricht obigen, nur per Designer).
      Zu meiner Schande muss ich gestehen, dass ich mich mit dem Designer praktisch nicht auskenne. Das da steht drin:

      Code:
      Option Strict On
      Option Explicit On
      
      
      Namespace My
           Partial Friend Class MyApplication
              
              <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
              Public Sub New()
                  MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
                  Me.IsSingleInstance = false
                  Me.EnableVisualStyles = true
                  Me.SaveMySettingsOnExit = true
                  Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
              End Sub
              
              <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
              Protected Overrides Sub OnCreateMainForm()
                  Me.MainForm = Global.DrawTemp.Hauptfenster
              End Sub
          End Class
      End Namespace
      Wo müsst ich da "\language\lang.txt" einfügen? Oder meinst Du den Ressourcen-Designer? Der ist folgender:
      Code:
      Option Strict On
      Option Explicit On
      
      Imports System
      
      Namespace My.Resources
          
          <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0"),  _
           Global.System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
           Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(),  _
           Global.Microsoft.VisualBasic.HideModuleNameAttribute()>  _
          Friend Module Resources
              
              Private resourceMan As Global.System.Resources.ResourceManager
              
              Private resourceCulture As Global.System.Globalization.CultureInfo
              
              <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)>  _
              Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
                  Get
                      If Object.ReferenceEquals(resourceMan, Nothing) Then
                          Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DrawTemp.Resources", GetType(Resources).Assembly)
                          resourceMan = temp
                      End If
                      Return resourceMan
                  End Get
              End Property
              
              <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)>  _
              Friend Property Culture() As Global.System.Globalization.CultureInfo
                  Get
                      Return resourceCulture
                  End Get
                  Set
                      resourceCulture = value
                  End Set
              End Property
              
              Friend ReadOnly Property blau_rot() As System.Drawing.Bitmap
                  Get
                      Dim obj As Object = ResourceManager.GetObject("blau_rot", resourceCulture)
                      Return CType(obj,System.Drawing.Bitmap)
                  End Get
              End Property
          End Module
      End Namespace
      Leider etwas unübersichtlich. Dann gibts noch den Einstellungen-Designer. Aber den pack ich hier jetz nicht rein...

      Comment


      • #4
        Hi,

        wo wird die "\language\lang.txt" benötigt. Im geposteten Code ist nichts ersichtlich.
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Die lang.txt wird am Anfang des Programms benötigt, um den Steuerelementen, Tooltips, Fehlermeldungen usw. ihre Text-Eigenschaft zu verleihen. Ist also essentiell wichtig.

          Comment


          • #6
            Hi Tobi,

            ohne mich jetzt weiter mit dem "Warum nicht mehr kompiliert wird" zu beschäftigen will ich dir dazu raten die Lokalisierung der Anwendung auf einen anderen Weg zu ermöglichen anstatt mit einer TextDatei.

            Visual Studio und das .net-Framework bietet bessere Möglichkeiten. Das ganze wie bereits erwähnt unter Lokalisierung. Ein Link hierzu: http://www.galileocomputing.de/openb...htm#Xxx1000220

            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment


            • #7
              Interessant, und Danke für den Link!
              Allerdings hab ich jetzt auch nicht mehr die Zeit und den Nerv, hunderte von Zeilen wieder umzuändern...
              Das nächste Mal werd ichs so machen.
              Ich werd jetzt mal versuchen, das komplette Projekt in ein neues zu integrieren und zu rekonstruieren. Ist sicher nicht so aufwändig, wie das ganze Konzept zu ändern... aber trotzdem Danke für Deine Bemühungen!

              Grüße, Tobi

              Comment

              Working...
              X