Seite 10 von 13

Verfasst: 31.03.2009 22:43
von Falko
ts-soft hat geschrieben:
Falko hat geschrieben: Unter Vista Ultimate 64-Bit kann ich noch nicht einmal einen Source
in einer geöffneten PB-IDE oder gleich IDE mit Source geöffnet
bekommen. Da passiert nun nichts mehr
Das sollte dann aber ein Problem deiner Config/deiner Antivir/deines
Windows sein.

Bei mir läuft es bei obiger Konfiguration absolut fehlerfrei!
Dann sollte es wohl an der Config liegen:
F:\PureBasic4_3_X86\PureBasic.exe /PORTABLE
Das müsste aber zumindestens dann laufen, wenn die IDE geöffnet ist, oder?

Also mit der Version 1.0.7 davor hat es noch gelaufen.

Gruß Falko

Verfasst: 31.03.2009 22:48
von ts-soft
Falko hat geschrieben:Dann sollte es wohl an der Config liegen:
F:\PureBasic4_3_X86\PureBasic.exe /PORTABLE
Dann ist es klar. RSBasic muß dem WinExec_ ja den Pfad zur PureBasic.exe
übergeben und nicht nur die Datei. Der Eintrag wird ja bei /PORTABLE nicht
aktualisiert, da findet er dann nur die zuletzt registrierte, die nicht starten
will, weil die PORTABLE an ist :wink:

Verfasst: 01.04.2009 00:55
von Bisonte
Getestet ist es von mir nicht nur sporadisch... ;) Aber das habt ihr ja schon geklärt.

Verfasst: 08.04.2009 23:44
von ts-soft
WinAPILibrary öffnet immer die x64 Version der IDE, die ist aber garnicht
Default in der Registry :?

Irgendwas ist an Deiner Abfrage da Faul :wink:

Gruß

Thomas

Verfasst: 08.04.2009 23:51
von RSBasic
@ts-soft
Die PB-Datei wird so ausgeführt:

Code: Alles auswählen

RunProgram(#PB_Compiler_Home+"PureBasic.exe"...)
Ich kann aber auch die Konstante + "PureBasic.exe" weglassen und die PB-Datei direkt starten, wenn das die bessere Variante ist.
Somit wird dann nur das Standard-Programm ausgeführt.

Verfasst: 08.04.2009 23:59
von ts-soft
RSBasic hat geschrieben:@ts-soft
Die PB-Datei wird so ausgeführt:

Code: Alles auswählen

RunProgram(#PB_Compiler_Home+"PureBasic.exe"...)
Ich kann aber auch die Konstante + "PureBasic.exe" weglassen und die PB-Datei direkt starten.
Somit wird dann nur Standard-Programm ausgeführt.
Ist das dann für dich die bessere Variante?
#PB_Compiler_Home ist eine CompilerDirektive, die wird auf Deinem
Rechner ausgewertet, aber nicht mehr woanders :mrgreen:
Die kann man nicht in der Exe verwenden!

Code: Alles auswählen

Procedure.s GetPBFolder(index = 0)
  Protected hKey1.l, Type.l, Res.l, Folder$, lpbData.l, cbData.l, PBRegKey.s
  cbData = 1024  ;The PB entry is really quite long!
  lpbData = AllocateMemory(cbData)
  Folder$=""
  hKey1=0
  Type=0
  Res=-1
  If lpbData
    Select OSVersion()
      Case #PB_OS_Windows_95,#PB_OS_Windows_98,#PB_OS_Windows_ME
        PBRegKey="Software\Classes\PureBasic.exe\shell\open\command"
        Res=RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, PBRegKey, 0, #KEY_ALL_ACCESS, @hKey1)
      Case #PB_OS_Windows_NT3_51,#PB_OS_Windows_NT_4,#PB_OS_Windows_2000,#PB_OS_Windows_Server_2003
        PBRegKey="Applications\PureBasic.exe\shell\open\command"
        Res=RegOpenKeyEx_(#HKEY_CLASSES_ROOT, PBRegKey, 0, #KEY_ALL_ACCESS, @hKey1)
      Case #PB_OS_Windows_XP, #PB_OS_Windows_Vista,#PB_OS_Windows_Server_2008,#PB_OS_Windows_Future
        PBRegKey="Software\Classes\PureBasic.exe\shell\open\command"
        Res=RegOpenKeyEx_(#HKEY_CURRENT_USER, PBRegKey, 0, #KEY_ALL_ACCESS , @hKey1)
    EndSelect
    If Res = #ERROR_SUCCESS And hKey1
      If RegQueryValueEx_(hKey1, "", 0, @Type, lpbData, @cbData)=#ERROR_SUCCESS
        Folder$ = PeekS(lpbData)
        Select index
          Case 0
            Folder$ = GetPathPart(StringField(Folder$,2,Chr(34)))
          Case 1
            Folder$ = StringField(Folder$,6,Chr(34))
          Case 2
            Folder$ = StringField(Folder$,8,Chr(34))
          Case 3
            Folder$ = StringField(Folder$,10,Chr(34))
        EndSelect
      EndIf
      RegCloseKey_(hKey1)
    EndIf
    FreeMemory(lpbData)
  EndIf
  ProcedureReturn Folder$
EndProcedure

RunProgram(GetPBFolder() + "PureBasic.exe"...
So ist es besser!

Hab gerade nen kl. Fehler gefunden, in:
ListIconGadget / Hintergrundbild hinzufügen sollte die Strukture wie folgt aussehen:

Code: Alles auswählen

Structure lvbkimage
  ulFlags.i
  hbm.i
  pszImage.s
  cchImageMax.l
  xOffsetPercent.l
  yOffsetPercent.l
EndStructure
Dann klappts auch mit dem x64 Nachbarn :wink:

PS: Wo bleibt das Scintilla?

Gruß

Thomas

Verfasst: 09.04.2009 00:10
von RSBasic
@ts-soft
Hallo,

danke für dein Code.

Der Fehler (ListIconGadget / ExplorerListGadget > Hintergrundbild hinzufügen) werde ich demnächst beheben, danke.

>PS: Wo bleibt das Scintilla?
Ich arbeite zur Zeit an einem anderen Projekt und wenn dieses fertig ist, dann mach ich mit WAL weiter.
Vielleicht kriege ich morgen mein neues Programm fertig.

Verfasst: 09.04.2009 15:05
von Andesdaf
> Vielleicht kriege ich morgen mein neues Programm fertig.
Ich bin gespannt. <)

Verfasst: 08.05.2009 20:54
von RSBasic
WinAPI Library 1.1.0 wurde veröffentlicht

Hinzugefügt:


Desktop:
• Desktop-Handle ermitteln

ExplorerListGadget:
• Breite der Spalte festlegen

Laufwerke:
• Laufwerkname umbenennen

ListIconGadget:
• Breite der Spalte festlegen

ListViewGadget:
• Anzahl der ausgewählten Items ermitteln
• Anzahl der Items ermitteln
• Ausgewählter Item ermitteln
• Höhe der Items ändern
• Höhe des Items ermitteln
• Item entfernen
• Item hinzufügen

Download: http://www.rsbasic.i3h.de/downloads/winapi_library.zip oder updaten.

Verfasst: 08.05.2009 22:17
von RSBasic
WinAPI Library 1.1.1 wurde veröffentlicht

Hinzugefügt:


Menü:
• Menü deaktivieren

OpenWindow:
• Ermitteln, ob es versteckt ist

PanelGadget:
• Alle Paneltabs entfernen
• Anzahl der Panel-Reihen ermitteln
• Ausgewählter Reiter ermitteln
• Ermitteln, auf welchem Item der Mauscursor sich befindet
• Panel-Item auswählen
• Paneltab entfernen

Sonstige:
• Build-Nummer ermitteln
• NT-Version ermitteln
• Service Pack-Version ermitteln

ToolBar:
• Icon mit Text


Download: http://www.rsbasic.i3h.de/downloads/winapi_library.zip oder updaten.