Laden...

Forenbeiträge von rifmetroid Ingesamt 9 Beiträge

21.09.2011 - 12:00 Uhr

Hallo Christel,

hast du schon eine Lösung zu deinem Problem gefunden?
Ich hab momentan das gleiche Problem. Auf meinem Rechner (Win7) läuft es einwandfrei, ich kann die user.config benutzen und auch löschen, sie wird dann auch neu erstellt.

Auf einem XP-Rechner mit SP3 funktioniert es leider nicht mehr. Sobald ich das Programm starte, kommt nur noch die Meldung, ob ich den Fehler senden möchte und das Verzeichnis für die user.config fehlt.

Wenn ich über System.Configuration den Ort der user.config auslese bevor der Zugriff darauf versucht wird, bekomme ich auch den normalerweise korrekten Ort angezeigt, die Datei und das Verzeichnis wird leider nicht angelegt.

Berechtigungen sind für den Ordner alle gesetzt, so dass ich da Ordner und Dateien erstellen kann...

Hat da eventuell noch jemand eine Idee dazu?

Gruß
rif

12.01.2007 - 14:04 Uhr

Ich bins nochmal!

Ich benötige die Funktionen zum lesen/setzen der File Properties nun auf einem 64Bit Prozessor mit Windows xp64.

Hat jemand schon mal diese Library oder eine andere benutzt um auf einem 64bit System auf die File-Properties zuzugreifen? Ich bekomme mit der dsofile.dll leider kein Zugriff.

MfG

Rif

11.01.2007 - 12:38 Uhr

Hab die Lösung mittlerweile selbst gefunden.

Die dsofile.dll scheint ein Bug zu haben, hier die entsprechende Lösung:

http://www.codecomments.com/message813451.html

MfG

Rifmetroid

11.01.2007 - 11:55 Uhr

Hi,

ich habe da ein Problem mit einem kleinen Programm, dass ich schreibe.
Es soll die File Propertys (Comments, Author, etc... ) einer Datei anzeigen und ändern können.
Das ganze habe ich mit der dsofile.dll gelöst.
Soweit funktioniert es auch eigentlich alles, bis auf ein für mich unerklärliches Phänomen.

Das Auslesen der FilePropertys funktioniert wunderbar.
Das Zurückschreiben der geänderten Propertys ist jedoch etwas komisch.
Hab ich ein File, bei dem die Propertys leer sind und möchte neue hineinschreiben, bekomme ich folgende Exception:

Zugriff verweigert (Ausnahme von HRESULT: 0x80070005 (E_ACCESSDENIED))
Interop.DSOFile
bei DSOFile.SummaryProperties.set_Comments(String pbstrComments)
bei FilePropertyTest.Form1.bt_ChangeProperty_Click(Object sender, EventArgs e) in C:...\Form1.cs:Zeile 31.

Gehe ich aber nun in den Windows-Explorer über die Dateieigenschaften und schreibe in einen beliebigen Wert etwas hinein, dann kann ich mit meinem Programm alle Eigenschaften setzen/ändern.
Nur wenn diese vorher noch nie angefasst wurden gibt es diese Exception.

Hat vll. jemand von euch eine Idee oder das Problem schon mal gelöst?

Bin für jede Hilfe dankbar.

Rifmetroid

10.11.2006 - 14:22 Uhr

Hier ein einfacher Codeschnipsel für .NET 2.0 um mehrere Programminstanzen zu verhindern. Dafür muss man die Microsoft.VisualBasic als Verweis im Projekt hinzufügen.



using Microsoft.VisualBasic.ApplicationServices;

namespace Test
{
public class SingleInstanceApplication : WindowsFormsApplicationBase
    {
        private SingleInstanceApplication()
        { 
            base.IsSingleInstance = true; 
        }

        public static void Run(Form f, StartupNextInstanceEventHandler startupHandler)
        {
            SingleInstanceApplication app = new SingleInstanceApplication();
            app.MainForm = f;
            app.StartupNextInstance += startupHandler;
            app.Run(Environment.GetCommandLineArgs());
        }
    }

    static class Program
    {
        /// <summary>
        /// Der Haupteinstiegspunkt für die Anwendung.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            SingleInstanceApplication.Run(new Form1(), StartupNextInstanceHandler);         
        }

        static void StartupNextInstanceHandler(object sender, StartupNextInstanceEventArgs e)
        {
            // do whatever you want here with e.CommandLine...
        }
    }
}

MfG

Rifmetroid

12.10.2006 - 14:59 Uhr

Moin,

zu 1.
du hast gar keine Schleifen im Programm, das sind alles if-Abfragen (Unser Prof ist bei solch einer Aussage immer in die Luft gegangen 😁 ).
Dann schau dir mal deine Variable "Eingabe" an, das ist ein char-Array und deine if-Abfragen machen einen Vergleich von char- mit int-Werten.
Sollte dann also so aussehen


if(Eingabe[x] == '2')
    // hier dann die Operationen ausführen

Damit sollten dann deine Vergleiche funktionieren.

Als Tipp würde ich dir geben den Link von Kabelsalat unbedingt genauer anzuschauen, da ist die ganze Geschichte ganz gut erklärt und würde dich im Programmieren auch eher weiterbringen.

Ansonsten noch viel Erfolg!

rifmetroid

10.10.2006 - 13:30 Uhr

Man beachte auch, dass man z.B bei deutscher Sprache die Einser und Zehnerstellen bei der Bearbeitung drehen muss. Von daher ist das im englischen dann noch etwas unkomplizierter.

Musste das ganze schon mal mit deutschen Zahlen machen und hab es ähnlich wie die obigen Ansätze realisiert. Is auch nicht so schwer, aber eine nette Übungsaufgabe.

rifmetroid

22.09.2006 - 10:54 Uhr

Vielen Dank für die schnellen Antworten!
Ich bin echt begeistert von dem Forum, alles, was ich bis jetzt an Fragen hatte, konnte ich hier super finden!

Für mein Problem werde ich nun die fest einstellbaren Timerwerte in 100ms-Schritten nutzen, da ich dann nur einen Timer benötige.

22.09.2006 - 10:29 Uhr

Moin moin,

ich habe eine ListvView in meinem Programm, der ich Items hinzufügen kann.
Diese Items werden dann in einen string verpackt und über die serielle Schnittstelle versendet. Für das Versenden der Items ist es möglich, jeweils eine Periodenzeit anzugeben. Sprich das jeweilige Element soll dann z.B. alle 1000 ms gesendet werden.

Generell hätte ich da jetzt an Timer gedacht. Nur mein Problem ist, dass ich dann ja für jedes einzelne Item in der ListView einen neuen Timer benötige, da man ja für jedes Element eine andere Periodenzeit angeben kann.

Wie lege ich dann jedesmal einen neuen Timer an, den ich dann dem jeweiligen ListView-Item zuordnen kann?
Bzw. wären da Timer überhaupt sinvoll oder gibt es auch andere Lösungen?

MfG

rifmetroid