C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Für Installationen unter Windows
idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von idefix »

Hallo!

Nach langer Zeit (12. Aug 2012) beschäftige ich mich mal wieder mit Lazarus.

Ich hatte eine if Abfrage, die einfach nicht funktionierte.

Da kam mir der Gedanke, das hier zuerst nach der Lazarus-Version gefragt wird.
Und das ich also gleich mal updaten könnte.

Ich habe aus zwei Quellen Lazarus gesaugt (lazarus-1.0.8-fpc-2.6.2-win32).

Bei beiden, dem Namen nach identischen Versionen, brach die Installation mit folgender Fehlermeldung ab:

Code: Alles auswählen

 
C:\Windows\System32\Qt4Pas5.dll
Fehler beim Erstellen einer Datei im Zielordner: Zugriff verweigert.


Auch ein aufspielen der alten Version (lazarus-0.9.30.4-fpc-2.6.0-win32) brachte dieselbe Fehlermeldung.

Als ich den Fehler ignorierte, lief die Installation weiter.
Allerdings gab es folgende Fehlermeldung:

Code: Alles auswählen

Das folgende Package konnte nicht geladen werden:
LazRichEdit (>=0.1.5)
Siehe Projekt -> Projektinspektor


----------

Danach kommt folgende Fehlermeldung:

Code: Alles auswählen

Unable to find the Component class "TlzRichEdit".
It is not registered via RegisterClass and no Ifm was found.
It is needed by Unit
C:\Users\Asta\Documents\Lazarus\Daten\Projecte\0024_Vokabeltrainer\unit0024_1.pas
 

Wenn ich hier "Übergehen, TForm als Vorfahr verwenden" anklicke, so kommt exact dieselbe Fehlermeldung wieder.



Die Suche brachte mich nicht richtig weiter.

Ich habe folgende Google Übersetzung:
http://translate.google.de/translate?hl=de&sl=en&u=http://wiki.freepascal.org/Qt_Interface&prev=/search%3Fq%3DC:%255CWindows%255CSystem32%255CQt4Pas5.dll%26hl%3Dde%26biw%3D683%26bih%3D400&sa=X&ei=e31bUeuQJc2OswaS2oCwBA&sqi=2&ved=0CDYQ7gEwAA


PS.
Hier läuft WIN 7.

Vielen Dank für eure Hilfe!

Gruß!
Idefix

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von Socke »

Hast du das als Administrator installiert?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von idefix »

Hallo!

Es geht noch weiter. Habe eben den obigen Text geändert. Ich dachte nicht das um diese Uhrzeit noch jemand da ist. Sorry!

Danach kommt folgende Meldung:

Code: Alles auswählen

Abhängigkeit nicht erfüllt.
Das Project benötigt das Package "LazRichEdit(>=0.1.5)".
Es wurde aber nicht gefunden.
Siehe Projekt ->Projektinspektor


Es wird der Projektinspektor angezeigt:

Code: Alles auswählen

Benötigte Packages:
LazRichEdit(>=0.1.5)
SynEdit (>=1.0)
SDFLaz (>=0.1.1)
FCL (>= 1.0)
FCL


Danke!

Gruß!
idefix

idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von idefix »

Hallo!

Socke hat geschrieben:Hast du das als Administrator installiert?


Nein. es ließ sich einfach so installieren.
Es wurde nur gefragt ob ich Lazarus vertraue, dann ging das so.

Normalerweise kenn ich das so, das ich auf diesem Computer nach dem Admin Passwort gefragt werde.
Hat sich / hat jemand da etwas verstellt?
Oder ist das normal?

Ich weiß, sehr blöde Fragen.

Danke!

Gruß!
Idefix

idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von idefix »

Hallo!

Ich habe das unter dem User deinstalliert, und mit dem Admin installiert.

Diese Fehlermeldung kam jetzt als Admin nicht:

Code: Alles auswählen

C:\Windows\System32\Qt4Pas5.dll
Fehler beim Erstellen einer Datei im Zielordner: Zugriff verweigert.


Unter dem Admin läuft ein neues leeres Project.

Gewechselt zum User.
Dort mit dem bereits erstellten Programm das alte Problem.

Ein neues leeres Project ließ sich problemlos starten.

Danke!

Gruß!
idefix

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von Antrepolit »

idefix hat geschrieben:Hallo!

Nach langer Zeit (12. Aug 2012) beschäftige ich mich mal wieder mit Lazarus.

Ich hatte eine if Abfrage, die einfach nicht funktionierte.

Da kam mir der Gedanke, das hier zuerst nach der Lazarus-Version gefragt wird.
Und das ich also gleich mal updaten könnte.

Ich habe aus zwei Quellen Lazarus gesaugt (lazarus-1.0.8-fpc-2.6.2-win32).
(...)


Und was war das für eine if-Abfrage? Quelltext bitte. Wieso glaubst du, dass das nun am Compiler liegen soll? Wenn if-Abfragen nicht tun, was sie sollen fehlen meist Klammern und das liegt nicht an der Entwicklungsumgebung.
Grüße, Antrepolit

care only if your os is really burning

idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von idefix »

Hallo!

Ich bin schon der Meinung, das es an meinem Code liegt, das die if-Abfrage nicht das tut, was sie soll.

Aber, ich dachte, wenn ich hier Hilfe suche, werde ich eh nach der Lazarus Version gefragt. Und das dann gesagt wird, update erstmal auf die aktuelle Version.
Das habe ich dann auch gestern gemacht.

Das Problem war, das mein Code mit der Lazarus Version von vor einem Jahr geschrieben, nicht mit der aktuellen Lazarus Version läuft.

Das Gemeine ist, das eine Installation mit der alten bis gestern laufenden Lazarus Version jetzt auch nicht mehr läuft.

Ich hatte bei der Installation angegeben, das alles von der Vorgängerversion gelöscht werden soll.
Ob das der Ursprung des Fehlers war, weiß ich nicht.
---------------------------

Anbei die sehr lange if-Abfrage.
Zum Verständnis:
Es ist ein Vokabelprogramm. Eine deutsche Vokabel hat bis zu 5 Bedeutungen in Englisch.

Nun möchte ich das das Programm die einzelnen Vokabeln erkennt, egal in welcher Reihenfolge sie eingegeben werden.
Das sollte auch klappen.
Hier war das Problem, das ich eine Vokabel mit drei Englischen Bedeutungen hatte.
Diese hätte meiner Meinung nach gar nicht erst den geposteten Code durchlaufen dürfen.
Es gibt natürlich noch if-Abfragen für vier Bedeutungen und drei Bedeutungen.

Allerdings kann ich diesen Code nicht mehr testen. Siehe Oben.

Code: Alles auswählen

  if Memo_Zwei_bearbeiten_Schalter = false then
  begin
  if (Memo2String1 <> '') and
     (Memo2String2 <> '') and
     (Memo2String3 <> '') and
     (Memo2String4 <> '') and
     (Memo2String5 <> '')
     then
  begin
    if Memo2String5 <> '' then
    begin
    Label55.Caption:= Memo2String1;
    Label56.Caption:= Memo2String2;
    Label57.Caption:= Memo2String3;
    Label58.Caption:= Memo2String4;
    Label59.Caption:= Memo2String5;
    if ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String3 = Memo3String3) and   // 3 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
      or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String3 = Memo3String3) and   // 3 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
      or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String3 = Memo3String4) and   // 3 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
      or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String3 = Memo3String5))      // 3 - 5
      or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String3 = Memo3String4) and   // 3 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String3 = Memo3String5))      // 3 - 5
       or                               //**************
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String3 = Memo3String2) and   // 3 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String3 = Memo3String2) and   // 3 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String3 = Memo3String2) and   // 3 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String3 = Memo3String2) and   // 3 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String3 = Memo3String2) and   // 3 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String3 = Memo3String2) and   // 3 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
       or                               //**************
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String3 = Memo3String4) and   // 3 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String3 = Memo3String5))      // 3 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String3 = Memo3String3) and   // 3 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String3 = Memo3String3) and   // 3 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String3 = Memo3String5))      // 3 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String3 = Memo3String4) and   // 3 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
       or                               //**************
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String3 = Memo3String4) and   // 3 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String3 = Memo3String5))      // 3 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String3 = Memo3String3) and   // 3 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String3 = Memo3String3) and   // 3 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String3 = Memo3String5))      // 3 - 5
       or
       ((Memo2String1 = Memo3String1) and   // 1 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String3 = Memo3String4) and   // 3 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
       // bis einschl 2///////////////////////////////////////////////
 
       or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String3 = Memo3String2) and   // 3 - 2
         (Memo2String1 = Memo3String3) and   // 1 - 3
         (Memo2String4 = Memo3String4) and   // 4 - 4
         (Memo2String5 = Memo3String5))      // 5 - 5
       or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String3 = Memo3String2) and   // 3 - 2
         (Memo2String1 = Memo3String3) and   // 1 - 3
         (Memo2String5 = Memo3String4) and   // 5 - 4
         (Memo2String4 = Memo3String5))      // 4 - 5
       or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String3 = Memo3String2) and   // 3 - 2
         (Memo2String4 = Memo3String3) and   // 4 - 3
         (Memo2String1 = Memo3String4) and   // 1 - 4
         (Memo2String5 = Memo3String5))      // 5 - 5
       or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String3 = Memo3String2) and   // 3 - 2
         (Memo2String4 = Memo3String3) and   // 4 - 3
         (Memo2String5 = Memo3String4) and   // 5 - 4
         (Memo2String1 = Memo3String5))      // 1 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String3 = Memo3String2) and   // 3 - 2
         (Memo2String5 = Memo3String3) and   // 5 - 3
         (Memo2String1 = Memo3String4) and   // 1 - 4
         (Memo2String4 = Memo3String5))      // 4 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String3 = Memo3String2) and   // 3 - 2
         (Memo2String5 = Memo3String3) and   // 5 - 3
         (Memo2String4 = Memo3String4) and   // 4 - 4
         (Memo2String1 = Memo3String5))      // 1 - 5
        or                               //**************
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String4 = Memo3String2) and   // 4 - 2
         (Memo2String1 = Memo3String3) and   // 1 - 3
         (Memo2String3 = Memo3String4) and   // 3 - 4
         (Memo2String5 = Memo3String5))      // 5 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String4 = Memo3String2) and   // 4 - 2
         (Memo2String1 = Memo3String3) and   // 1 - 3
         (Memo2String5 = Memo3String4) and   // 5 - 4
         (Memo2String3 = Memo3String5))      // 3 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String4 = Memo3String2) and   // 4 - 2
         (Memo2String3 = Memo3String3) and   // 3 - 3
         (Memo2String1 = Memo3String4) and   // 1 - 4
         (Memo2String5 = Memo3String5))      // 5 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String4 = Memo3String2) and   // 4 - 2
         (Memo2String3 = Memo3String3) and   // 3 - 3
         (Memo2String5 = Memo3String4) and   // 5 - 4
         (Memo2String1 = Memo3String5))      // 1 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String4 = Memo3String2) and   // 4 - 2
         (Memo2String5 = Memo3String3) and   // 5 - 3
         (Memo2String1 = Memo3String4) and   // 1 - 4
         (Memo2String3 = Memo3String5))      // 3 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String4 = Memo3String2) and   // 4 - 2
         (Memo2String5 = Memo3String3) and   // 5 - 3
         (Memo2String3 = Memo3String4) and   // 3 - 4
         (Memo2String1 = Memo3String5))      // 1 - 5
        or                               //**************
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String5 = Memo3String2) and   // 5 - 2
         (Memo2String1 = Memo3String3) and   // 1 - 3
         (Memo2String3 = Memo3String4) and   // 3 - 4
         (Memo2String4 = Memo3String5))      // 4 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String5 = Memo3String2) and   // 5 - 2
         (Memo2String1 = Memo3String3) and   // 1 - 3
         (Memo2String4 = Memo3String4) and   // 4 - 4
         (Memo2String3 = Memo3String5))      // 3 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String5 = Memo3String2) and   // 5 - 2
         (Memo2String3 = Memo3String3) and   // 3 - 3
         (Memo2String1 = Memo3String4) and   // 1 - 4
         (Memo2String4 = Memo3String5))      // 4 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String5 = Memo3String2) and   // 5 - 2
         (Memo2String3 = Memo3String3) and   // 3 - 3
         (Memo2String4 = Memo3String4) and   // 4 - 4
         (Memo2String1 = Memo3String5))      // 1 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String5 = Memo3String2) and   // 5 - 2
         (Memo2String4 = Memo3String3) and   // 4 - 3
         (Memo2String1 = Memo3String4) and   // 1 - 4
         (Memo2String3 = Memo3String5))      // 3 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String5 = Memo3String2) and   // 5 - 2
         (Memo2String4 = Memo3String3) and   // 4 - 3
         (Memo2String3 = Memo3String4) and   // 3 - 4
         (Memo2String1 = Memo3String5))      // 1 - 5
        or                               //**************
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String1 = Memo3String2) and   // 1 - 2
         (Memo2String3 = Memo3String3) and   // 3 - 3
         (Memo2String4 = Memo3String4) and   // 4 - 4
         (Memo2String5 = Memo3String5))      // 5 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String1 = Memo3String2) and   // 1 - 2
         (Memo2String3 = Memo3String3) and   // 3 - 3
         (Memo2String5 = Memo3String4) and   // 5 - 4
         (Memo2String4 = Memo3String5))      // 4 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String1 = Memo3String2) and   // 1 - 2
         (Memo2String4 = Memo3String3) and   // 4 - 3
         (Memo2String3 = Memo3String4) and   // 3 - 4
         (Memo2String5 = Memo3String5))      // 5 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String1 = Memo3String2) and   // 1 - 2
         (Memo2String4 = Memo3String3) and   // 4 - 3
         (Memo2String5 = Memo3String4) and   // 5 - 4
         (Memo2String3 = Memo3String5))      // 3 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String1 = Memo3String2) and   // 1 - 2
         (Memo2String5 = Memo3String3) and   // 5 - 3
         (Memo2String3 = Memo3String4) and   // 3 - 4
         (Memo2String4 = Memo3String5))      // 4 - 5
        or
        ((Memo2String2 = Memo3String1) and   // 2 - 1
         (Memo2String1 = Memo3String2) and   // 1 - 2
         (Memo2String5 = Memo3String3) and   // 5 - 3
         (Memo2String4 = Memo3String4) and   // 4 - 4
         (Memo2String3 = Memo3String5))      // 3 - 5
///////////////////// bis einschl 4
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String1 = Memo3String2) and   // 1 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String1 = Memo3String2) and   // 1 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String1 = Memo3String2) and   // 1 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String1 = Memo3String2) and   // 1 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String1 = Memo3String2) and   // 1 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String1 = Memo3String2) and   // 1 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
        or                               //**************
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String1 = Memo3String3) and   // 1 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String1 = Memo3String3) and   // 1 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String1 = Memo3String4) and   // 1 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String1 = Memo3String5))      // 1 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String1 = Memo3String4) and   // 1 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String2 = Memo3String2) and   // 2 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String1 = Memo3String5))      // 1 - 5
        or                               //**************
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String1 = Memo3String3) and   // 1 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String1 = Memo3String3) and   // 1 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String1 = Memo3String4) and   // 1 - 4
        (Memo2String5 = Memo3String5))      // 5 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String5 = Memo3String4) and   // 5 - 4
        (Memo2String1 = Memo3String5))      // 1 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String1 = Memo3String4) and   // 1 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String4 = Memo3String2) and   // 4 - 2
        (Memo2String5 = Memo3String3) and   // 5 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String1 = Memo3String5))      // 1 - 5
        or                               //**************
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String1 = Memo3String3) and   // 1 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String1 = Memo3String3) and   // 1 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String1 = Memo3String4) and   // 1 - 4
        (Memo2String4 = Memo3String5))      // 4 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String2 = Memo3String3) and   // 2 - 3
        (Memo2String4 = Memo3String4) and   // 4 - 4
        (Memo2String1 = Memo3String5))      // 1 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String1 = Memo3String4) and   // 1 - 4
        (Memo2String2 = Memo3String5))      // 2 - 5
        or
       ((Memo2String3 = Memo3String1) and   // 3 - 1
        (Memo2String5 = Memo3String2) and   // 5 - 2
        (Memo2String4 = Memo3String3) and   // 4 - 3
        (Memo2String2 = Memo3String4) and   // 2 - 4
        (Memo2String1 = Memo3String5))      // 1 - 5
       ////////////////// bis einschl 6
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String1 = Memo3String2) and   // 1 - 2
       (Memo2String2 = Memo3String3) and   // 2 - 3
       (Memo2String3 = Memo3String4) and   // 3 - 4
       (Memo2String5 = Memo3String5))      // 5 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String1 = Memo3String2) and   // 1 - 2
       (Memo2String2 = Memo3String3) and   // 2 - 3
       (Memo2String5 = Memo3String4) and   // 5 - 4
       (Memo2String3 = Memo3String5))      // 3 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String1 = Memo3String2) and   // 1 - 2
       (Memo2String3 = Memo3String3) and   // 3 - 3
       (Memo2String2 = Memo3String4) and   // 2 - 4
       (Memo2String5 = Memo3String5))      // 5 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String1 = Memo3String2) and   // 1 - 2
       (Memo2String3 = Memo3String3) and   // 3 - 3
       (Memo2String5 = Memo3String4) and   // 5 - 4
       (Memo2String2 = Memo3String5))      // 2 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String1 = Memo3String2) and   // 1 - 2
       (Memo2String5 = Memo3String3) and   // 5 - 3
       (Memo2String2 = Memo3String4) and   // 2 - 4
       (Memo2String3 = Memo3String5))      // 3 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String1 = Memo3String2) and   // 1 - 2
       (Memo2String5 = Memo3String3) and   // 5 - 3
       (Memo2String3 = Memo3String4) and   // 3 - 4
       (Memo2String2 = Memo3String5))      // 2 - 5
       or                               //**************
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String2 = Memo3String2) and   // 2 - 2
       (Memo2String1 = Memo3String3) and   // 1 - 3
       (Memo2String3 = Memo3String4) and   // 3 - 4
       (Memo2String5 = Memo3String5))      // 5 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String2 = Memo3String2) and   // 2 - 2
       (Memo2String1 = Memo3String3) and   // 1 - 3
       (Memo2String5 = Memo3String4) and   // 5 - 4
       (Memo2String3 = Memo3String5))      // 3 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String2 = Memo3String2) and   // 2 - 2
       (Memo2String3 = Memo3String3) and   // 3 - 3
       (Memo2String1 = Memo3String4) and   // 1 - 4
       (Memo2String5 = Memo3String5))      // 5 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String2 = Memo3String2) and   // 2 - 2
       (Memo2String3 = Memo3String3) and   // 3 - 3
       (Memo2String5 = Memo3String4) and   // 5 - 4
       (Memo2String1 = Memo3String5))      // 1 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String2 = Memo3String2) and   // 2 - 2
       (Memo2String5 = Memo3String3) and   // 5 - 3
       (Memo2String1 = Memo3String4) and   // 1 - 4
       (Memo2String3 = Memo3String5))      // 3 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String2 = Memo3String2) and   // 2 - 2
       (Memo2String5 = Memo3String3) and   // 5 - 3
       (Memo2String3 = Memo3String4) and   // 3 - 4
       (Memo2String1 = Memo3String5))      // 1 - 5
       or                               //**************
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String3 = Memo3String2) and   // 3 - 2
       (Memo2String1 = Memo3String3) and   // 1 - 3
       (Memo2String2 = Memo3String4) and   // 2 - 4
       (Memo2String5 = Memo3String5))      // 5 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String3 = Memo3String2) and   // 3 - 2
       (Memo2String1 = Memo3String3) and   // 1 - 3
       (Memo2String5 = Memo3String4) and   // 5 - 4
       (Memo2String2 = Memo3String5))      // 2 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String3 = Memo3String2) and   // 3 - 2
       (Memo2String2 = Memo3String3) and   // 2 - 3
       (Memo2String1 = Memo3String4) and   // 1 - 4
       (Memo2String5 = Memo3String5))      // 5 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String3 = Memo3String2) and   // 3 - 2
       (Memo2String2 = Memo3String3) and   // 2 - 3
       (Memo2String5 = Memo3String4) and   // 5 - 4
       (Memo2String1 = Memo3String5))      // 1 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String3 = Memo3String2) and   // 3 - 2
       (Memo2String5 = Memo3String3) and   // 5 - 3
       (Memo2String1 = Memo3String4) and   // 1 - 4
       (Memo2String2 = Memo3String5))      // 2 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String3 = Memo3String2) and   // 3 - 2
       (Memo2String5 = Memo3String3) and   // 5 - 3
       (Memo2String2 = Memo3String4) and   // 2 - 4
       (Memo2String1 = Memo3String5))      // 1 - 5
       or                               //**************
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String5 = Memo3String2) and   // 5 - 2
       (Memo2String1 = Memo3String3) and   // 1 - 3
       (Memo2String2 = Memo3String4) and   // 2 - 4
       (Memo2String3 = Memo3String5))      // 3 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String5 = Memo3String2) and   // 5 - 2
       (Memo2String1 = Memo3String3) and   // 1 - 3
       (Memo2String3 = Memo3String4) and   // 3 - 4
       (Memo2String2 = Memo3String5))      // 2 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String5 = Memo3String2) and   // 5 - 2
       (Memo2String2 = Memo3String3) and   // 2 - 3
       (Memo2String1 = Memo3String4) and   // 1 - 4
       (Memo2String3 = Memo3String5))      // 3 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String5 = Memo3String2) and   // 5 - 2
       (Memo2String2 = Memo3String3) and   // 2 - 3
       (Memo2String3 = Memo3String4) and   // 3 - 4
       (Memo2String1 = Memo3String5))      // 1 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String5 = Memo3String2) and   // 5 - 2
       (Memo2String3 = Memo3String3) and   // 3 - 3
       (Memo2String1 = Memo3String4) and   // 1 - 4
       (Memo2String2 = Memo3String5))      // 2 - 5
       or
      ((Memo2String4 = Memo3String1) and   // 4 - 1
       (Memo2String5 = Memo3String2) and   // 5 - 2
       (Memo2String3 = Memo3String3) and   // 3 - 3
       (Memo2String2 = Memo3String4) and   // 2 - 4
       (Memo2String1 = Memo3String5))      // 1 - 5
      /////////// bis einschl 8
 
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String1 = Memo3String2) and   // 1 - 2
      (Memo2String2 = Memo3String3) and   // 2 - 3
      (Memo2String3 = Memo3String4) and   // 3 - 4
      (Memo2String4 = Memo3String5))      // 4 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String1 = Memo3String2) and   // 1 - 2
      (Memo2String2 = Memo3String3) and   // 2 - 3
      (Memo2String4 = Memo3String4) and   // 4 - 4
      (Memo2String3 = Memo3String5))      // 3 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String1 = Memo3String2) and   // 1 - 2
      (Memo2String3 = Memo3String3) and   // 3 - 3
      (Memo2String2 = Memo3String4) and   // 2 - 4
      (Memo2String4 = Memo3String5))      // 4 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String1 = Memo3String2) and   // 1 - 2
      (Memo2String3 = Memo3String3) and   // 3 - 3
      (Memo2String4 = Memo3String4) and   // 4 - 4
      (Memo2String2 = Memo3String5))      // 2 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String1 = Memo3String2) and   // 1 - 2
      (Memo2String4 = Memo3String3) and   // 4 - 3
      (Memo2String2 = Memo3String4) and   // 2 - 4
      (Memo2String3 = Memo3String5))      // 3 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String1 = Memo3String2) and   // 1 - 2
      (Memo2String4 = Memo3String3) and   // 4 - 3
      (Memo2String3 = Memo3String4) and   // 3 - 4
      (Memo2String2 = Memo3String5))      // 2 - 5
      or                               //**************
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String2 = Memo3String2) and   // 2 - 2
      (Memo2String1 = Memo3String3) and   // 1 - 3
      (Memo2String3 = Memo3String4) and   // 3 - 4
      (Memo2String4 = Memo3String5))      // 4 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String2 = Memo3String2) and   // 2 - 2
      (Memo2String1 = Memo3String3) and   // 1 - 3
      (Memo2String4 = Memo3String4) and   // 4 - 4
      (Memo2String3 = Memo3String5))      // 3 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String2 = Memo3String2) and   // 2 - 2
      (Memo2String3 = Memo3String3) and   // 3 - 3
      (Memo2String1 = Memo3String4) and   // 1 - 4
      (Memo2String4 = Memo3String5))      // 4 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String2 = Memo3String2) and   // 2 - 2
      (Memo2String3 = Memo3String3) and   // 3 - 3
      (Memo2String4 = Memo3String4) and   // 4 - 4
      (Memo2String1 = Memo3String5))      // 1 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String2 = Memo3String2) and   // 2 - 2
      (Memo2String4 = Memo3String3) and   // 4 - 3
      (Memo2String1 = Memo3String4) and   // 1 - 4
      (Memo2String3 = Memo3String5))      // 3 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String2 = Memo3String2) and   // 2 - 2
      (Memo2String4 = Memo3String3) and   // 4 - 3
      (Memo2String3 = Memo3String4) and   // 3 - 4
      (Memo2String1 = Memo3String5))      // 1 - 5
      or                               //**************
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String3 = Memo3String2) and   // 3 - 2
      (Memo2String1 = Memo3String3) and   // 1 - 3
      (Memo2String2 = Memo3String4) and   // 2 - 4
      (Memo2String4 = Memo3String5))      // 4 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String3 = Memo3String2) and   // 3 - 2
      (Memo2String1 = Memo3String3) and   // 1 - 3
      (Memo2String4 = Memo3String4) and   // 4 - 4
      (Memo2String2 = Memo3String5))      // 2 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String3 = Memo3String2) and   // 3 - 2
      (Memo2String2 = Memo3String3) and   // 2 - 3
      (Memo2String1 = Memo3String4) and   // 1 - 4
      (Memo2String4 = Memo3String5))      // 4 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String3 = Memo3String2) and   // 3 - 2
      (Memo2String2 = Memo3String3) and   // 2 - 3
      (Memo2String4 = Memo3String4) and   // 4 - 4
      (Memo2String1 = Memo3String5)      // 1 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String3 = Memo3String2) and   // 3 - 2
      (Memo2String4 = Memo3String3) and   // 4 - 3
      (Memo2String1 = Memo3String4) and   // 1 - 4
      (Memo2String2 = Memo3String5))      // 2 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String3 = Memo3String2) and   // 3 - 2
      (Memo2String4 = Memo3String3) and   // 4 - 3
      (Memo2String2 = Memo3String4) and   // 2 - 4
      (Memo2String1 = Memo3String5))      // 1 - 5
      or                               //**************
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String4 = Memo3String2) and   // 4 - 2
      (Memo2String1 = Memo3String3) and   // 1 - 3
      (Memo2String2 = Memo3String4) and   // 2 - 4
      (Memo2String3 = Memo3String5))      // 3 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String4 = Memo3String2) and   // 4 - 2
      (Memo2String1 = Memo3String3) and   // 1 - 3
      (Memo2String3 = Memo3String4) and   // 3 - 4
      (Memo2String2 = Memo3String5))      // 2 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String4 = Memo3String2) and   // 4 - 2
      (Memo2String2 = Memo3String3) and   // 2 - 3
      (Memo2String1 = Memo3String4) and   // 1 - 4
      (Memo2String3 = Memo3String5))      // 3 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String4 = Memo3String2) and   // 4 - 2
      (Memo2String2 = Memo3String3) and   // 2 - 3
      (Memo2String3 = Memo3String4) and   // 3 - 4
      (Memo2String1 = Memo3String5))      // 1 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String4 = Memo3String2) and   // 4 - 2
      (Memo2String3 = Memo3String3) and   // 3 - 3
      (Memo2String1 = Memo3String4) and   // 1 - 4
      (Memo2String2 = Memo3String5))      // 2 - 5
      or
     ((Memo2String5 = Memo3String1) and   // 5 - 1
      (Memo2String4 = Memo3String2) and   // 4 - 2
      (Memo2String3 = Memo3String3) and   // 3 - 3
      (Memo2String2 = Memo3String4) and   // 2 - 4
      (Memo2String1 = Memo3String5)))      // 1 - 5
     then          //130
 
 
    begin
      Ja_vorbereiten;
      Memo_Zwei_bearbeiten_Schalter := true;
    end
    else
    begin
      Nein_vorbereiten;
      Memo_Zwei_bearbeiten_Schalter := true;
    end;
  end;
  end;
end;                 


Danke!

Gruß!
idefix

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von Michl »

Ich habe mir mal die Mühe gemacht und deine "If"-Abfrage durch den Compiler geschickt - funktioniert erstmal, kann jetzt keinen direkten Fehler entdecken. Doch zum Code-Design ein paar Anregungen:

Code: Alles auswählen

  if (Memo2String1 <> '') and
     (Memo2String2 <> '') and
     (Memo2String3 <> '') and
     (Memo2String4 <> '') and
     (Memo2String5 <> '')  //Memo2String5 wird wird hier abgefragt, ob Inhalt vorhanden
     then
  begin
    if Memo2String5 <> '' then //und hier nochmals -> das if kann somit weg!

diese Abfrage ist doppelt, wird also immer eintreten, das zweite if kann somit gespart werden

Weiter würde ich empfehlen, die Memo2Strings und Memo3Strings nicht die Namen Memo2String1..5 sondern besser ein Array dafür zu nehmen!

z.B. Memo2Strings:array[0..4] of String;

Dann kann man die Abfrage auch wunderbar in einer Schleife recht einfach abrufen und braucht nicht so viel Code zu schreiben (wird auch übersichtlicher dadurch)

Das könnte man dann so oder evtl noch kürzer gestalten:

Code: Alles auswählen

....
 
var
  Memo2String,Memo3String:array[0..4] of string;
  Memogleich,Memo3Stringnutzbar:array[0..4] of boolean;
  i,i2:integer;
  b:boolean;
 
....
 
begin
  b:=true;
  for i:=0 to 4 do if Memo2String[i]='' then b:=false//Ein Memo2String hat keinen Inhalt
 
  if b then begin
 
    Label55.Caption:= Memo2String[0]//Label55..59, dies sieht auch nicht gut aus! Evtl. wäre ein Stringgrid hier die bessere Wahl?!
    Label56.Caption:= Memo2String[1];
    Label57.Caption:= Memo2String[2];
    Label58.Caption:= Memo2String[3];
    Label59.Caption:= Memo2String[4];
 
    for i:=0 to 4 do Memogleich[i]:=false;
    for i:=0 to 4 do Memo3Stringnutzbar[i]:=true;
    for i:=0 to 4 do begin
      for i2:=0 to 4 do
        if Memo3Stringnutzbar[i2] and (Memo2String[i]=Memo3String[i2]) then begin
          Memogleich[i]:=true//Diese Zeichenkette ist gleich
          Memo3Stringnutzbar[i2]:=false//Memo3String[i2] wurde jetzt einmal zum Vergleich herangezogen, ist daher für weitere Vergleiche nicht nutzbar!
        end;
    end;
 
    b:=true;
    for i:=0 to 4 do if not Memogleich[i] then b:=false//Ein Memo hat keinen gleichen Inhalt!
 
    if b then begin  //hier kommt jetzt dein Code
      Ja_vorbereiten;
      Memo_Zwei_bearbeiten_Schalter := true;
    end ....
 
... hab ich nicht getestet, sollte aber, falls ich nicht geschusselt habe, funktionieren
Zuletzt geändert von Michl am Mi 3. Apr 2013, 23:02, insgesamt 2-mal geändert.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von idefix »

Hallo Michl!

Michl hat geschrieben:Ich habe mir mal die Mühe gemacht und deine "If"-Abfrage durch den Compiler geschickt - funktioniert erstmal, kann jetzt keinen direkten Fehler entdecken. Doch zum Code-Design ein paar Anregungen:

Weiter würde ich empfehlen, die Memo2Strings und Memo3Strings nicht die Namen Memo2String1..5 sondern besser ein Array dafür zu nehmen!

z.B. Memo2Strings:array[0..4] of String;

Dann kann man die Abfrage auch wunderbar in einer Schleife recht einfach abrufen und braucht nicht so viel Code zu schreiben (wird auch übersichtlicher dadurch)


Vielen Dank für Deine Mühe! Mir ist durchaus bewusst, das ich nicht super Code schreibe. Ich werde, wenn ich Lazarus wieder läuft auf jeden Fall schauen, ob ich das nach Deinen Vorschlägen ändern kann.

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

Konkret bin ich immer noch mit der Installation am Kämpfen.

Ich habe jetzt für jede Lazarus-Version einen eigenen Pfad angelegt.
Dann hängt sich der Installer auch nicht ständig auf.
(Natürlich deinstalliere ich eine nicht funktionierende Version sofort, will sagen habe nicht zwei Lazarusversionen gleichzeitig installiert)

Konkret suche ich mit Google nach LazRichEdit (>=0.1.5).
Dann ist die Frage, wie ich das Packet Lazarus zur Verfügung stelle.
Muss ich das Compilern?
Wenn ja, wie?

Vielen Dank!

Gruß!
idefix

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von Antrepolit »

@idefix:
"Reguläre Ausdrücke" sind viel besser geeignet als derlei if-Konstrukte.

Zum Problem:
- Lazarus deinstallieren
- WIndows+R, cmd eintippen und Enter
- in das Verzeichnis der DLL wechseln
- mit "regsvr32 -u dllname" die dll deregistrieren
- Computer neu starten
- die DLL löschen
- Aktuelle offizielle Version von Laz herunterladen und als Administrator installieren
Grüße, Antrepolit

care only if your os is really burning

idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von idefix »

Antrepolit hat geschrieben:
Zum Problem:
- Lazarus deinstallieren
- WIndows+R, cmd eintippen und Enter

Wo tippe ich das ein?

- in das Verzeichnis der DLL wechseln


Wie komme ich an die DLL?
Ich habe hier http://code.google.com/p/lazarus-br/source/browse/trunk/package/lzRichEdit/lazrichedit.pas?r=131
eine PAS gefunden. Eine Suche nach LazRichEdit.dll brachte nichts.
Kann ich die PAS als dll nehmen?

- mit "regsvr32 -u dllname" die dll deregistrieren

Wo soll ich das registrieren?
Wenn Lazarus deinstalliert ist, kann ich das ja nur unter Win 7 registrieren?

- Computer neu starten
- die DLL löschen
- Aktuelle offizielle Version von Laz herunterladen und als Administrator installieren


Ich schaue selbstverständlich gleich mittels Google nach dll und Lazarus.
Es soll ja kein reiner Konsum sein.

Vielen Dank!

Gruß!
idefix

idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von idefix »

Antrepolit hat geschrieben:@idefix:
"Reguläre Ausdrücke" sind viel besser geeignet als derlei if-Konstrukte.

Zum Problem:
- Lazarus deinstallieren
- WIndows+R, cmd eintippen und Enter
- in das Verzeichnis der DLL wechseln
- mit "regsvr32 -u dllname" die dll deregistrieren
- Computer neu starten
- die DLL löschen
- Aktuelle offizielle Version von Laz herunterladen und als Administrator installieren


Also Windows+R heißtdie windows Taste plus die Taste R.
In das Fenster cmd eingeben.
Dann erscheint eine Eingabeaufforderung. Dort mittels cd Verzeichnisname bzw. cd.. in das Verzeichniss wechseln.
regsvr32 Dateiname
Hier wird die DLL registriert.
D.h. die Dll ist Windowslike und hat erstmal nichts mit Lazarus zu tun.

Bleibt immer noch die Frage, wie ich zur richtigen DLL komme.

Danke!

Gruß!
idefix

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von Socke »

idefix hat geschrieben:Bleibt immer noch die Frage, wie ich zur richtigen DLL komme.

Steht das nicht im Thema des Threads?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

idefix
Beiträge: 61
Registriert: So 21. Aug 2011, 20:37
OS, Lazarus, FPC: WIN7 /Laz 1,0,8 / FPC 2.6.2/ SVN 40573
CPU-Target: xxBit

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von idefix »

Hallo!

Socke hat geschrieben:
idefix hat geschrieben:Bleibt immer noch die Frage, wie ich zur richtigen DLL komme.

Steht das nicht im Thema des Threads?


Ich hatte jetzt so viele verschiedene Fehlermeldungen, das ich nicht davon ausgehen kann, das die Fehlermeldung von gestern Nacht die Richtige ist.

Wenn Du mir sagst, das ein fehlendes LazRichEdit (>=0.1.5) mittels Qt4Pas5.dll behoben wird, dann marschiere ich los.

Vielen Dank!

Gruß!
idefix

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: C:\Windows\System32\Qt4Pas5.dll Zugriff verweigert

Beitrag von theo »

Hab jetzt nicht den ganzen Thread gelesen, aber die Qt4Pas5.dll braucht es gar nicht.
Die ist ja nur für Qt unter Windows, also normalerweise überflüssig.

Was das Package anbelangt: Lösche einfach dein Lazarus Config-Verzeichnis und starte nochmal.
Wo das sein kann, siehst du hier.
http://wiki.freepascal.org/Multiple_Laz ... _directory

Antworten