Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > Anregungen & Bugreports

Anregungen & Bugreports Für Vorschläge an den Autor Roland und neue XProfan-Versionen

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 82, Antworten: 4
Gehe zum ersten neuen Beitrag TabCtrl
Aufrufe: 108, Antworten: 11
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 43, Antworten: 3
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50823, Antworten: 1388
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 8, Antworten: 2
Gehe zum ersten neuen Beitrag Suche Programm um Werbung zu...
Aufrufe: 39, Antworten: 2
Gehe zum ersten neuen Beitrag McAfee AVERT Stinger...
Aufrufe: 2, Antworten: 0
Gehe zum ersten neuen Beitrag Sticky Password 6.0.2...
Aufrufe: 3, Antworten: 0
Gehe zum ersten neuen Beitrag Sicher Löschen 3.19 (Windows)
Aufrufe: 2, Antworten: 0
Gehe zum ersten neuen Beitrag Cleaning Suite 2.1 (Windows)
Aufrufe: 2, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05.02.2012, 17:27   #1 (Direktlink)
War schon mal da
 
Registriert seit: 21.10.2011
Beiträge: 32
Standard Windows Fehler in X2 mit ntdll.dll

Hallo an Alle!

Ich habe nun endlich mein X2 bei JDS bestellt und erhalten und installiert.
Bisher habe ich mit der Free-Version 11 gearbeitet.
Beim Versuch, Dateien aus Verzeichnissen einzulesen, gab es unter X2
die folgende Fehlermeldung (siehe Anlage).
Dabei habe ich den im Forum veröffentlichen Quellcode verwendet, der
Windows Routinen aufruft. Unter dem 11er Interpreter ist alles OK.
Unter der X2 jedoch nicht - was muss ich unter X2 andes machen???

Betriebssystem: Windows 7 - 64 Bit

Vielen Dank im Voraus: Matthias
Transrapidfan ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 05.02.2012, 17:38   #2 (Direktlink)
War schon mal da
 
Registriert seit: 21.10.2011
Beiträge: 32
Standard Nochmal zu ntdll.dll in X2

Hallo nochmals,

sorry, das mit dem Bild (Fehlermeldung) ging daneben!

Hier also noch einmal , besser lesbar!

Vielen vielen Dank im Voraus: Matthias
Transrapidfan ist offline   Mit Zitat antworten
Alt 05.02.2012, 17:55   #3 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.776
Standard

Welchen Code fürst du denn genau aus?
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 05.02.2012, 17:58   #4 (Direktlink)
Stammuser
 
Registriert seit: 21.04.2011
Ort: Hessen
Alter: 15
Beiträge: 327
Standard

Ich sehe gerade, in deinem Quellcode sind dynamische Arrays. In XProfan X2 hat sich ein kleiner Bug eingeschlichen, durch den sowas hier nicht mehr funktioniert:
Code:
Input DynamischesArray$[Nummer]
Input #Dateinummer, DynamischesArray$[Nummer]
Kommt sowas eventuell in deinem Code vor?


Gruß
Jonathan
__________________
ASUS K50IJ Notebook --- Pentium T4500 2x 2,4GHz --- 4GB RAM --- 64GB m4 SSD --- Win 7 Home Premium 32-Bit --- XProfan X2.0b

Das Schönste am Programmieren ist immernoch die Fehlersuche

Dieser Beitrag besteht zu 100% aus Recycling-Bytes.
Jonathan ist offline   Mit Zitat antworten
Alt 05.02.2012, 18:01   #5 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
Standard

Ein lauffähiges Codebeispiel wäre hilfreicher als die Fehlermeldung. Da kann ich nur vermuten, daß möglicherweise eine Stringvariable leer ist und dort ein Inhalt erwartet wird oder ein Bereich, der das Ergebnis aufnehmen soll falsch declariert ist. Kann aber auch was Anderes sein.
Und hat sicherlich auch nicht unbedingt mit den Patch zu tun?

Gruß Volkmar
Volkmar ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 05.02.2012, 18:19   #6 (Direktlink)
War schon mal da
 
Registriert seit: 21.10.2011
Beiträge: 32
Standard Code:

@AHT

Ja, welchen?
Am besten, ich stelle ihn hier mal ein.
Wie gesagt das Original stammt aus dem Forum, ich habe ihn nur leicht
modifiziert. Lief aber prima unter der Free 11er.
Ich nehme an, dass es irgendwie an der Deklaration der Routinen
im Kernel32 liegt. Aber warum reagiert X2 anders als die Free 11er?

Erst mal vielen Dank für die schnelle Reaktion: Matthias

' Vorgabe rekrusives Einlesen von Dateien
' +++++++++++++++++++++++++++++++++++++++

' Abwandlung wie folgt:
' 1. Parameter sind Startpfad, Filter (gesuchtr Dateityp), Ausgabearray
'
Def FindFirstFile(2) !"kernel32","FindFirstFileA"
Def FindNextFile(2) !"kernel32","FindNextFileA"
Def FindClose(1) !"kernel32","FindClose"
Def $Maske "*"

Struct WIN32_FIND_DATA= \
dwFileAttributes&, \
ftCreationTime#(8), \
ftLastAccessTime#(8), \
ftLastWriteTime#(8), \
nFileSizeHigh&, \
nFileSizeLow&, \
dwReserved0&, \
dwReserved1&, \
cFileName#(260), \
cAlternate#(14)

Declare HandleA&[]
Declare HandleA$[]
Declare FH&
Declare FindData#
Declare PM$

Dim FindData#, Win32_Find_Data

Proc DirListFiles
Parameters pPfad$, pFilter$, pListArray$[], pPos&
declare iFilter$

iFilter$ = upper$(pFilter$)
PM$ = pPfad$ + "\\" + $Maske
FH& = FindFirstFile(Addr(PM$),FindData#)
While (pPos& >= 1) And (FH& >= 0) = 1
Repeat
If (@String$(FindData#,44) <> ".") And (@String$(FindData#,44) <> "..")
' Wenn ein Verzeichnis
If (FindData#.dwFileAttributes& & $10) = $10
HandleA&[pPos&] = FH&
HandleA$[pPos&] = pPfad$
pPfad$ = pPfad$ + "\\" + @String$(FindData#,44)
Inc pPos&
DirListFiles(pPfad$, pFilter$, pListArray$[], pPos&)
Else
' Wenn eine Datei, dann Filtern bestimmter Dateien
if (right$(upper$(@String$(FindData#,44)), len(pFilter$)) = iFilter$) OR (pFilter$ = "")
setsize pListArray$[], sizeof(pListArray$[]) +1
pListArray$[sizeof(pListArray$[])-1] = pPfad$ + "\\" + @String$(FindData#,44)
endif
EndIf
EndIf
Until FindNextFile(FH&,FindData#) = 0
Dec pPos&
If pPos& >= 1
FH& = HandleA&[pPos&]
pPfad$ = HandleA$[pPos&]
Case FindNextFile(FH&,FindData#) = 0 : Break
Else
Break
EndIf
EndWhile
EndProc
Transrapidfan ist offline   Mit Zitat antworten
Alt 05.02.2012, 18:38   #7 (Direktlink)
War schon mal da
 
Registriert seit: 21.10.2011
Beiträge: 32
Standard X2 Bug

Hallöle!

Also das mit dem X2 Bug kann auch sein.
Ich werde das Problem am besten mal einkreisen,
indem ich meinen Quellcode zerlege und mal einzeln
einem Test unterziehe.

Dazu werde ich mich dann morgen mal melden.
Ist auf alle Fälle eine Idee, den Fehler auch in diesem Fall
woanders zu suchen.
Dachte nur, es liegt an der Win32/Win64 Geschichte.

Also, bis morgen abend erst mal, denn mein Tag fängt sehr früh an.


PS: Ich habe auch einen Kumpel für XFrofan begeistern können.
Er ist auch mit der Forumhilfe sehr zufrieden.

Grüße aus dem kalten Harz: Matthias alias Transrapidfan (der Ungeduldige)
Transrapidfan ist offline   Mit Zitat antworten
Alt 05.02.2012, 19:27   #8 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 756
Standard

Das Beispiel war zwar noch nicht lauffähig, die Prozedur wird ja nie aufgerufen und der 4. Parameter ist auch nicht dokumentiert. Aber wenn ich den Code mal so ergänze, dann kommt das raus, vom dem ich denke, was der Code machen soll, eine rekursive Auflistung aller Dateien eines Typs ab dem angegebenen Ordner.

Code:
Declare Ergebnis$[], _zeile$, _Zahl&
DirListFiles "C:\\Program Files\\Adressen", "bmp", Ergebnis$[], 1
_Zahl& = sizeof(Ergebnis$[])
WhileLoop _Zahl&
  Print Ergebnis$[&Loop-1]
EndWhile
Print _Zahl&
WaitInput
Die Prozedur als Solche macht also kein Problem, es wird irgendwo in der Verarbeitung des Ergebnisses liegen.

Gruß Volkmar
Volkmar ist offline   Mit Zitat antworten
Alt 05.02.2012, 21:25   #9 (Direktlink)
War schon mal da
 
Registriert seit: 21.10.2011
Beiträge: 32
Standard DirListFiles und ntdll.dll in X2

@Volkmar!

Hallo Volkmar!
Bin nochmal ins Forum rein geschlickert.... (ist ja glatt draußen)
Ja, Deine Vermutung ist richtig. Rekrusives Einlesen von Dateinamen.
(Ich möchte alle Textdateien ab einem Startpfad bearbeiten)
Das die Verarbeitung der Ergebnisse scheitert, könnte eine Ursache sein.
Vielleicht wieder die Sache mit den dynamischen Arrays.
Dann liege ich vielleicht damit falsch, dass es die Rotinenaufrufe sind.
Das werde ich dann morgen gleich mal testen, denn ich möchte ab sofort
nur noch mit meiner X2 arbeiten, um EXE damit zu erzeugen.
Wenn ich mein kleines Tool fertig habe, stelle ich es mal ins Forum.
Vielleicht hat ja der eine oder andere auch EEP6?

@Alle: Transrapidfan Matthias dankt allen Helfern!
Bis morgen!
Transrapidfan ist offline   Mit Zitat antworten
Alt 05.02.2012, 21:47   #10 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.091
Standard

Das mit dem ersten Bild passte schon, Matthias. Kann man auf Originalgröße klicken.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist gerade online   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 05.02.2012, 22:07   #11 (Direktlink)
Stammuser
 
Benutzerbild von Andreas Miethe
 
Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
Standard

Zitat:
Zitat von Transrapidfan Beitrag anzeigen
Ja, Deine Vermutung ist richtig. Rekrusives Einlesen von Dateinamen.
Probier mal diesen Code aus, der wesentlich schneller !
Ist nur ein Test, also kein Abbrechen möglich usw.

Bei mir dauert das Einlesen von über 1800 Dateien ca. 1 Sekunde.

Code:
'##############################################
'# Autor           : ampsoft (Andreas Miethe) #
'# Datum           : 05.03.2011               #
'# Thema           : Rekursive Dateisuche     #
'# XProfan-Version : X2                       #
'##############################################

$H windows.ph
$H messages.ph


Var Dll& = Importdll("DbgHelp.dll","")

clearlist

If ~GetProcAddress(Dll&,"EnumDirTree")
  
  Declare Ende&
  Windowstyle 536
  WINDOW %maxx,%maxy
  ~SetClassLong(%hwnd,~GCL_STYLE,(~getClassLong(%hwnd,~GCL_STYLE)- ~CS_HREDRAW - ~CS_VREDRAW))
  CLS ~GetSysColor(~Color_BTNFACE)
  WindowTitle "Rekursive Dateisuche"
  SetDialogFont ~GetStockObject(~DEFAULT_GUI_FONT)
  Var Text& = Create("TEXT",%hwnd,"",0,0,width(%hwnd),24)
  Var Gefunden& = Create("TEXT",%hwnd,"",0,28,width(%hwnd),24)
  Var Liste& = Create("Listbox",%hwnd,0,0,100,width(%hwnd),height(%hwnd)-100)
  Var Anzahl& = 0
  Var hProcess& = ~GetCurrentProcess()
  Var Buffer$ = space$(100)
  Var Time& = ~GetTickCount()

  'Initialisieren
  '############################################################################
  SymInitialize(hProcess&,0,0)
  'Redraw der Listbox abschalten
  '############################################################################
  SendMessage(Liste&,~WM_SETREDRAW,0,0)
  Repaint
  'Dateien suchen
  'Processhandle&,Suchpfad$,Dateiname$,BufferPointer&,ProzedurAdresse&,Userdata&
  '############################################################################
  Settext Text&,"Warten bitte...."

  'Hier den Suchpfad angeben
  '############################################################################
  EnumDirTree(hProcess&,"D:\\","*.txt",0,ProcAddr("EnumDirTreeProc",2),Liste&)
  '############################################################################
  SendMessage(Liste&,~WM_SETREDRAW,1,0)
  Repaint
  'Aufräumen
  '############################################################################
  SymCleanup(hProcess&)
  
Else
  MessageBox("Keine Unterstützung gefunden","Fehler",0)
  End
EndIf

External("shlwapi.dll","StrFromTimeIntervalA",Addr(Buffer$),100, Int(~GetTickCount() - Time&),12)

Settext Text&,Buffer$
Settext Gefunden&,"Suche beendet : " + Str$(Anzahl&) + " Dateien gefunden die dem Suchkriterium entsprechen"
Waitinput
End

Proc  EnumDirTreeProc
  PARAMETERS PPath&,CData&
  Var Path$ = String$(PPath&,0)
  AddString(Liste&,Path$)
  SetText Text&,Path$
  Inc Anzahl&
  Return 0
EndProc
__________________
Gruss
Andreas

______________________
http://www.ampsoft.eu

Profan 3.3 - XProfanX2
Windows 95,98,ME,2000,XP
Vista - Windows 7 32 / 64 Bit

ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher
Andreas Miethe ist offline   Mit Zitat antworten
Alt 05.02.2012, 23:03   #12 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.776
Standard

Läuft leider nicht auf allen Systemen - sicher wohl erst ab Vista.
Trotzdem tolle Methode!
Deine Lösung in XProfan braucht mit dem Code 23 Sekunden bei mir für Laufwerk C:.
Leider zum Einbau in "richtige Programme" keine Lösung.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 05.02.2012, 23:45   #13 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 721
Standard

Zitat:
Zitat von AHT Beitrag anzeigen
Läuft leider nicht auf allen Systemen - sicher wohl erst ab Vista.
Naja, unter Win9x ist die Imagehlp.dll zu importieren, dann sollte es auch mit
dem Nachbarn klappen
__________________
Gruß Thomas

Wenn mir früher jemand gesagt hätte, ich würde
freiwillig eine Wanze mit mir herum tragen und sie
auch noch selbst aufladen, hätte ich laut gelacht.

Heute habe ich ein Smartphone.


http://realsource.de
ts-soft ist gerade online   Mit Zitat antworten
Alt 06.02.2012, 00:10   #14 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.776
Standard

Für den Nachbarn kein Problem - will man das aber über das Internet verteilen, wird es problematisch. Die DLL braucht man ab Version 6.0, und das ist Vista.
Wie gesagt - wenn ein Programm nicht zwingend überall laufen muss, kann man das verwenden, ansonsten besser nicht.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 06.02.2012, 00:14   #15 (Direktlink)
Forenmaskottchen
 
Benutzerbild von ts-soft
 
Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 721
Standard

Hab mich sowieso geiirt , die DLL ist zwar redistributable, enthält aber die
Funktion "EnumDirTree" nicht, insofern ab Vista
__________________
Gruß Thomas

Wenn mir früher jemand gesagt hätte, ich würde
freiwillig eine Wanze mit mir herum tragen und sie
auch noch selbst aufladen, hätte ich laut gelacht.

Heute habe ich ein Smartphone.


http://realsource.de
ts-soft ist gerade online   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Anregungen & Bugreports

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
bei neuinstallalation winxp: unknown hard error \systemroot\system32\ntdll.dll gada1 Hardware - Problemlösungen 3 12.01.2009 09:57
c0000221 Unknown Hard Error (NTDLL.DLL) e-cyborg Windows XP 3 25.08.2006 10:34
Windows 98 startet nach Windows-Fehler nicht mehr - H E L P anancus Windows 95/98/ME/2000/NT 2 12.09.2004 15:08
probleme mit ntdll.dll und uxtheme.dll myhere Windows 95/98/ME/2000/NT 3 20.05.2004 22:10
Windows XP Pro ! Fehler Batchman Windows XP 3 20.12.2003 20:43



Alle Zeitangaben in WEZ +2. Es ist jetzt 22:51 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2