Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249662 (11098)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Fehler Meldung?
Sascha
| Datum:03.06.01 14:14 (sascha@willecke-net.de) |
Hallo, ich habe folgenden Code: ------------- proc login declare dialog%,beenden%,ende2%,speichern%,user_name%,password%,username$,password$ declare anzahl% declare user% let dialog%=@Create("Window",%hwnd,"Benutzer_Login",%winleft+75,%wintop,150,200) startpaint dialog% cls @rgb(255,255,255) usebrush 0,0 UsePen 0,1,rgb(0,0,0) rectangle 0,0-150,200 usefont "ARIAL",13,0,1,0,0 textcolor @rgb(0,0,0),-1 drawtext 15,5,"Benutzer Name:" drawtext 15,50,"Passwort:" endpaint let user_name%=@create("Listbox",dialog%,"",15,20,120,20) let password%=@create("edit",dialog%,"",15,65,120,20) let user%=@val(@readini$(my$,"user","anzahl")) while user% @addstring(user_name%,@readini$(my$,@str$(user%),"Name")) sub user%,1 wend let speichern%=@create("button",dialog%,"starten",25,150,100,20) let beenden%=@create("button",dialog%,"zurück",25,175,100,20) setfont speichern%,schrift% setfont beenden%,schrift% setfont user_name%,schrift% setfont password%,schrift% whilenot ende2% case @scankey(27):let ende2%=1 if @getfocus(speichern%) 'starten let user%=@val(@readini$(my$,"user","anzahl")) let anzahl%=@GetCursel(user_name%) ListBoxItem$ anzahl% = username$ while user% if @equ(@readini$(my$,@str$(user%),"name"),username$) break endif sub user%,1 wend let password$=@readini$(my$,@str$(user%),"Password") let password$=@pwd$(password$) if @equ$(password$,@gettext$(password%)) @messagebox("test","erfolg",0) endif elseif @getfocus(beenden%) let ende2%=1 endif ' Linke Maustaste gedrückt? ' Wenn ja, dann Fenster verschieben If Equ(%message,$201) SetFocus(dialog%) UseCursor 5 Sendmessage(dialog%,$0112,$0F012,0) UseCursor 0 ReleaseCapture() endif wend @sendkey(dialog%,65) @destroywindow(dialog%) endproc cls login waitinput ------------------- Und bekomme beim klick auf starten folgende fehlermeldung! Warum? Exception EAccessViolation in Modul Profan.exe bei 000024FF usw. Danke im vorraus! MFG Sascha http://www.profan.willecke-net.de
Jörg Sellmeyer
| Datum:03.06.01 15:42 (joerse@gmx.de) |
Hallo Sascha, Da ich nicht weiß auf welche Registrypfade Du zugreifst, habe ich den Code leicht umgeschrieben und er läuft. Vielleicht stimmt bei Deinen Registriyaufrufen etwas nicht: Def ReleaseCapture(0) !"USER32","ReleaseCapture" proc login declare dialog%,beenden%,ende2%,speichern%,user_name%,password%,username$,password$ declare anzahl%,schrift%,password$ declare user% let dialog%=@Create("Window",%hwnd,"Benutzer_Login",%winleft+75,%wintop,150,200) startpaint dialog% cls @rgb(255,255,255) usebrush 0,0 UsePen 0,1,rgb(0,0,0) rectangle 0,0-150,200 usefont "ARIAL",13,0,1,0,0 textcolor @rgb(0,0,0),-1 drawtext 15,5,"Benutzer Name:" drawtext 15,50,"Passwort:" endpaint let user_name%=@create("Listbox",dialog%,"",15,20,120,20) let password%=@create("edit",dialog%,"",15,65,120,20) let user%=1'@val(@readini$("","user","anzahl")) while user% @addstring(user_name%,"Ich") '@addstring(user_name%,@readini$(my$,@str$(user%),"Name")) sub user%,1 wend let speichern%=@create("button",dialog%,"starten",25,150,100,20) let beenden%=@create("button",dialog%,"zurück",25,175,100,20) setfont speichern%,schrift% setfont beenden%,schrift% setfont user_name%,schrift% setfont password%,schrift% whilenot ende2% case @scankey(27):let ende2%=1 if @getfocus(speichern%) 'starten let user%=1'@val(@readini$(my$,"user","anzahl")) let anzahl%=@GetCursel(user_name%) ListBoxItem$ anzahl% = username$ while user% if @equ("Ich",username$) break endif sub user%,1 wend let password$="Test"'@readini$(my$,@str$(user%),"Password") let password$=@pwd$(password$) if @equ$(password$,@gettext$(password%)) @messagebox("test","erfolg",0) endif elseif @getfocus(beenden%) let ende2%=1 endif ' Linke Maustaste gedrückt? ' Wenn ja, dann Fenster verschieben If Equ(%message,$201) SetFocus(dialog%) UseCursor 5 Sendmessage(dialog%,$0112,$0F012,0) UseCursor 0 ReleaseCapture() endif wend @sendkey(dialog%,65) @destroywindow(dialog%) endproc cls login waitinput '------------------- 'Viele Grüße Jörg
Sascha
| Datum:03.06.01 16:54 (sascha@willecke-net.de) |
Vielen Dank! Allerding greife ich nicht auf die REGISTRY sondern auf eine normale INI Datei im Programmverzeichniss zu! Werde es gleich mal Probieren! MFG Sascha
Sascha
| Datum: 04.06.01 00:54 (sascha@willecke-net.de) |
Hallo, ich hatte einen großen fehler in meinem Code! mit der funtion ListBoxItem$ anzahl% = username$ wollte ich den gerade ausgewählten eintrag (text) ermitteln! Dabei hätte ich laut hilfe let username$=@ListBoxItem$(anzahl%) nutzen müssen! Oder nicht? Ich verstehe das leider jetzt nicht ganz?! Zwei Befehle die sich nur durch ihre schreibweise unterscheiden! Da sollte man etwas ändern Roland (ich hoffe du ließt das)! Oder liege ich da falsch? Na aufjedenfall bekomme ich jetzt folgende fehler meldung: So viele Elemente sind nicht da! Zeile 101 .... Was bedeutet das? MFG Sascha Willecke http://www.profan.willecke-net.de

| Zurück zur Übersicht