Zum Inhalt springen

strico

Mitglieder
  • Gesamte Inhalte

    70
  • Benutzer seit

  • Letzter Besuch

Beiträge von strico

  1. Hallo alle zusammen,

    ist es möglich (und wenn ja wie) einen Parameter über einen Bericht an eine Abfrage weiterzuleiten?

    Folgendes:

    Ich habe eine größere Abfrage mit Parametern. Das bedeutet ja, dass wenn ich diese ausführe eine InputBox kommt, die von mir per Hand den Parameter eingetragen haben will.

    Ich habe nun einen Bericht, der diese Abfrage als Datenherkunft besitzt. Der Bericht weiß ja nun auch nix von de Parametern.

    Jetzt möchte ich per Code den Bericht aufrufen (zB DoCmd.OpenReport ...) und die Parameter am liebsten setzen. ABER WIE?

    Vielen Dank für die Antworten

  2. Laufzeitfehler 13 (Typen unverträglich) kommt.

    Das mit dem schlechten Design ist schon klar. Mir gehts hier um die Theorie. Ich würde gern verstehen, was da im Hintergrund passiert.

    Was heißt Fehler noch aktiv? Wenn ich Err.Clear aufrufe, tritt beim zweiten Mal der Fehler immer noch auf. Oder anders: Wie deaktiviere ich dann den Fehler? (Geht das nur über Resume?)

    DANKE

  3. Hallo,

    kann mir einer erklären, warum die zweite Prüfung den Fehler trotzdem wirft und NICHT zu ENDE2 springt?

    Vielen Dank

    Private Sub TEST()
    
        On Error GoTo ENDE
    
        If Not CBool("TEST") Then
    
            Exit Sub
    
        End If
    
    ENDE:
    
        On Error GoTo ENDE2
    
        If Not CBool("TEST2") Then
    
            Exit Sub
    
        End If
    
    ENDE2:
    
    End Sub

  4. Angenommen man würde Lizenzen verkaufen (Jeder User genau eine Lizens). Dann sollte doch jeder Account nur maximal 1 mal eingeloggt sein und nicht Kunde A in Berlin und Kunde B in München mit dem selben LoginNamen. Außerdem kann man nicht absehen, ob es evt. zu Datenverlusten (Überschneidungen) kommt, wenn 2 User mit einem Account zur gleichen Zeit arbeiten.

    Meine Applikation kann natürlich auch 100 User eingeloggt haben, aber jeder dieser 100 User hat seinen eigenen Account.

  5. Hallo.

    Kann man nur mit dem Wissen einer bestimmten SessionID herausbekommen, ob der zu dieser ID gehörende Browser geschlossen wurde bzw die Seite verlassen wurde?

    --------------------------------------------

    Wenn sich ein User einloggt wird er zum activeUser. Der activeUser hat seine SessionID mitgespeichert. Wenn sich ein weiterer User einloggen will, wird geschaut, ob er in den activeUser schon vorhanden ist. Wenn er vorhanden ist, müsste jetzt geprüft werden, ob dieser User auch wirklich noch aktiv ist.

    Problem: Ein User soll nur 1 mal eingeloggt sein. Derzeit fliegt der zuerst eingeloggte User1 raus, wenn sich User2 einloggt. Jetzt soll es am besten so sein, dass User2 sich nur einloggen darf, wenn User1 ausgeloggt wurde.

    Wenn sich User1 normal ausloggt kann ich die Session und andere Dinge ordentlich beenden. Was aber, wenn der User1 den Browser einfach schließt oder die Seite wechselt (ohne logout zu klicken)?

    -------------------------------------------------------------

    Ich hoffe ich konnte mein Problem deutlich schildern.

    Vielen Dank für jede Antwort.

  6. Wie casten geht und dass es Referenz- und Wertetypen gibt, ist mir wohl bekannt. Aber dennoch danke.

    Bei meinem Problem komme ich mit Convert.ChangeType(........) soweit hin. Das mit den Reflections würde mich dennoch interessieren. Naja, bei MSDN bissel stöbern.

  7. Von Reflection habe ich schon gehört, weiß nur absolut nicht wie ich damit umgehen muss.

    Also in meiner applikation habe ich eine Klasse, die xx Objekte beinhaltet. Den Typ eines solchen Objektes legt der Anwender fest. (Also der, der die Klasse verwendet, nicht der Endanwender)

    Dann gibt es noch eine Datenbankabfrage. Im reader stehen dann irgendwelche Objekte.

    Jetzt gibt es noch eine Methode, die die Werte aus dem Reader den einzelnen Werten aus der Klasse zuordnen soll, aber ohne dass in der Klasse der Typ eines der xx Objekte verändert werden soll.

    So brauch ich irgendwas, das prüft, ob das objekt, das aus dem Reader kommt in ein objekt aus der Klasse gecastet werden kann.

    PS: Was aus dem Reader wohin in die Klasse kommen soll, steht fest, aber nicht die Typen.

    Geht das mit Reflection? Wenn ja, kann dies mir einer erklären wie?

    Vielen DANK

  8. Hallo, ich habe folgendes Problem.

    Ich hab 2 Variablen, von denen ich vorher nicht weiß, was sie für ein Typ sind.

    Jetzt wollte ich irgendwie herausfinden, ob der Typ der Variablen1 in den Typ, den Variable 2 hat gecastet werden kann.

    ZB: Rein zufällig ist Variable 1 ein byte und Variable 2 ein int. Nun stellt sich die Frage, ist var1 in var2 castbar?

    Viel interessanter wird das, wenn var1 ein DateTime ist und var2 ein string.

    var1 lässt sich an und für sich immer in einen String casten. Die Methode, die ich brauch müsste dann true zurückliefern.

    Zweitens: gibt es sowas in der Art:

    variableX = (var1.getType())var2;

    Also, dass ich sagen kann, dass var2 in den Typ von var1 gecastet werden soll. Der Typ von var1 steht nicht fest.

    Danke für antworten.

  9. Folgendes Problem:

    Ich lade ein *.tif Bild, welches nach dem öffnen im Format "Format1bppIndexed" vorliegt. Das soll auch so bleiben. Allerdings, will ich die Width und Height Eigenschaft ändern, sprich es verkleinern.

    Ob ich das nun mitThumbNail mache oder mit new Bitmap(original, Size), spielt keine Rolle, da es das Bild zwar mit neuer Größe, allerdings (leider) in einem neuen Format (nämlich 32 bit pro Pixel) zurückliefert.

    Wie kann ich nun verhindern, dass das Bild in ein 32 Bit Format geändert wird?

    System.Drawing.Image bitImg = System.Drawing.Image.FromFile(path); //Format1bppIndexed
    
    
    // newHeight und Width wurde vorher neu berechnet und callback liefert immer false (ausführung nicht abbrechen)
    
    bitImg = bitImg.GetThumbnailImage((int)NewWidth,(int)NewHeight,callback,IntPtr.Zero);//Format32bppPArgb
    
    
    oder
    
    
    bitImg = new Bitmap(bitImg, (int)(bitImg.Width / 5), (int)(bitImg.Height / 5)); //wird nicht wirklich ausgeführt, weil das Bild sehr groß ist (10000 x 7000 Pixel)

    1. Kann mir jemand erklären, wie ich das PixelFormat ändern kann und

    2. Hat jemand vielleicht eine Idee, wie ich ein Bild in der Größe ändere ohne dass das alte Format verändert wird?

    Vielen Dank

  10. Hallo,

    Einem TreeView kann man über TreeView.showToolTip = true sagen, dass ToolTips angezeigt werden sollen. Allerdings werden nur dort ToolTips angezeigt, wo man im Baum noch eine Ebene tiefer kann. Die unterste Ebene bekommt diesen Tooltip nicht automatisch.

    Wie kann ich jedem Element (Node) im TreeView einen eigenen Tooltip zuweisen?

    Danke

    Ich benutze C# für die ASP.NET-Anwendungen. .NET Framework 1.1 muss verwendet werden, da der Kunde kein 2.0 verwendet.

  11. Jup, wird in VB.NET gemacht.

    Hab eine Variable deklariert:

    dim i as int32

    i = nothing

    die hab ich dann übergeben, einmal als nothing, einmal ohne Wertzuweisung, einmal mit Wert.

    Mit Wert wirft die Methode wie erwartet eine Eception.

    Ich glaub, ich hab auch schonmal nur nen Object übergeben. Das sind ja an und für sich alles 4 Byte-Zeiger.

  12. Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As int32, lpdwProcessId As int32) As int32

    Ich möchte die ProcessID auslesen bekomme aber immer nur 0 zurück. Weiß jemand an was das liegt? Gibt es noch eine andere Möglichkeit an die PID zu kommen, wenn ja, welche?

    OS: Win XP

    Zum Testen versuche ich vom Windows Rechner eine PID zu bekommen. Über FindWindow hol ich das Handle auf den Rechner und über EnumChildWindow hole ich den rest.

    egal, ob ich das mainhandle nehme, oder die Kinderhandle, es wird immer 0 geliefert.

    Danke für eure Hilfe.

    PS: Seh ich das richtig: Ein Prozess ist ein einzelnes Programm? Prozesse bestehen aus Threads und innerhalb der Threads haben versch. Elemente Handles.

    Haben alle Steuerelemente Handles?

  13. So bekomme ich alle Handles des Rechners. Die sind dann in der Arraylist gespeichert.

    Dim al As New ArrayList
    
        '#-----------------------------------
    
        Public Delegate Function EnumChilds(ByVal ChWnd As Int32, ByVal lParam As Int32) As Int32
    
    
        Public Declare Function EnumChildWindows Lib "user32" ( _
    
                        ByVal hWndParent As Int32, _
    
                        ByVal lpEnumFunc As EnumChilds, _
    
                        ByVal lParam As Int32) As Int32
    
        '#-----------------------------------
    
        Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Int32
    
    
        Public Sub SearchAllChildsFrom(ByVal hwnd As Int32)
    
            EnumChildWindows(hwnd, AddressOf _EnumChildCallBackFunc_, 0)
    
        End Sub
    
        '
    
        Public Function _EnumChildCallBackFunc_(ByVal ChWnd As Int32, ByVal lParam As Int32) As Int32
    
            al.Add(ChWnd)
    
            Return 1 '# Damit alle gesucht werden Return 0 würde nur 1 suchen, bzw. suche abbrechen
    
        End Function
    
    
    
        '#
    
        '#
    
        '#
    
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    
            Dim i As Int32
    
            i = FindWindow(Nothing, "Rechner")
    
            Me.SearchAllChildsFrom(i)
    
    End Sub

    Wie kann ich jetzt Eigenschaften der Steuerelemente, die hinter den Handles liegen, ansprechen?

  14. Wieder was neues. Anfangs habe ich erwähnt, dass der Stapel aus dem Gleichgewicht gerät. Das liegt daran, dass der Datentyp Long 8 Byte in .Net hat. Man muss Int32 nehmen, dann klappt das.

    Beispiel:

    so nicht

    Declare Function BringWindowToTop Lib "user32.dll" (ByVal hWnd As Long) As Long
    so muss es gemacht werden
    Declare Function BringWindowToTop Lib "user32.dll" (ByVal hWnd As Int32) As Int32

    Wenn ich weiter gekommen bin melde ich mich wieder. Vielleicht hat ja auch noch jemand anderes Anregungen.

  15. Hab mir mal noch paar gedanken gemacht. Ich hab ja nen 32 Bit System und Long ist 8 Byte groß.

    Wenn ich jetzt den FindWindow-Rückgabewert nach Links verschiebe, kommt 0 raus, wenn der Rechner zu ist und eine stets konstante Zahl, wenn er auf ist. Also schonmal nen Erfolg.

        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    
            MsgBox(FindWindow(Nothing, "Rechner") << 32)
    
        End Sub
    
    
        Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

    Ich hoffe nur, dass ein Handle auch 32 Bit hat, nicht das da noch etwas anderes mit drin hängt.

    Ich glaube, ich muss die 32 Bit auch wieder nach Rechts verschieben, wäre ja sonst ne falsche Zahl.

    2. Wie weiter, wenn ich jetzt das Fensterhandle habe?

  16. Auf der Microsoft Seite habe ich eine FindWindow Version mit einem Long-Wert als ersten Parameter gefunden. Mit String als ersten Parameter gehts soweit.

        Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    
    
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    
            MsgBox(FindWindow("", ""))
    
        End Sub
    Wie benutze ich jetzt diese Methode? Ich hab mal bissl rumprobiert und festgestellt, dass egal, was ich für Parameter übergebe immer eine Zahl bekomme, die jedes mal, wenn ich klicke größer wird. Was ist der Unterschied zwischen
        Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
    und
    Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Long, ByVal lpWindowName As String) As Long

  17. Angenommen das Fenster hat immer den gleichen Namen, hättest du dann eine herangehensweise für mich?

    -------------------------------------------------------------

    Ich habe mir den Link :

    http://forum.fachinformatiker.de/del...en-delphi.html

    angeschaut und versucht die Methode FindWindow zu verwenden (über Declare eingebunden). Leider hat sich VS2005 gemeldet: Das Gleichgewicht des Stapels wurde gestört ... irgendwas mit PInvoke Zielsignatur etc.

    Kann man die API-Funktionen nicht verwenden oder was mach ich falsch?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...