Aktuelle Zeit: 20.11.2017 07:42

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: SQLite macOS 5.60x64 kann DB nicht öffnen
BeitragVerfasst: 31.08.2017 11:18 
Offline

Registriert: 14.08.2014 14:32
Ich habe ein kleines Problem mit SQLite, allerdings nicht generell.

Ein kleine Anwendung von mir mit gerade einmal vier Tabellen läuft aus der IDE heraus ohne Probleme.
Erstelle ich nun ein Executable wird dies zwar anstandslos gemacht, jedoch kann ich mit dieser generierten
APP dieselbe SQLite-DB nicht öffnen. Leider erhalte ich von DatabaseError() keine Information.

Selbst unter Windows 10 (selber Quellcode, selbe DB) klappt das sowohl aus der IDE als auch mit der
eigentlichen EXE-Datei.

Andere PB-Anwendungen funktionieren allerdings!?

_________________
MacBook Pro (13-inch, Mid 2012, I7 2.9GHz, 8GB), OSX 10.10, PB 5.31 x64 - VmWare-Fusion: Win7 Home Premium, XP Professional, Ubuntu 14.04 - ZX81 - Apple II - Atari ST


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SQLite macOS 5.60x64 kann DB nicht öffnen
BeitragVerfasst: 31.08.2017 11:28 
Offline

Registriert: 29.08.2004 13:18
in Zeile 214 ist ein Doppelpunkt zu viel!

Ich will sagen, das ohne einen Codeschnippsel keiner helfen kann. Das einzige was mir einfällt ist die Debug-Falle. z.b.:
Code:
Debug Init()


in der IDE mit debugger wird init() aufgerufen, ohne debugger wird init() NICHT aufgerufen, weil der Debugbefehl rückstandslos entfernt wird.

_________________
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SQLite macOS 5.60x64 kann DB nicht öffnen
BeitragVerfasst: 31.08.2017 11:39 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
GPI sagt es... Source um zu helfen ist notwendig.

Aber wenn ich im dunkeln stocher.... tippe ich auf Pfade. Getreu dem Motto : Es wird das DB File einfach nicht gefunden.
Es gibt viele Gründe, unter denen der aktuelle Pfad in einem Source aus der IDE anders ist, als der aktuelle Pfad in einer
kompilierten EXE.

Windows ist da nicht ganz so pingelig, vielleicht aber MacOS. Vielleicht hilft ja schon ein einfaches
Code:
SetProgramDirectory(GetPathPart(ProgramFileName()))

Ich kann mir vorstellen, daß du einfach annimmst, das das DB File im gleichen Verzeichnis liegt, wie das Hauptprogramm.

_________________
PureBasic 5.45 LTS / 5.61 (Windows x86/x64) | Windows10 Pro x64 | Z87-PLUS | i7 4770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SQLite macOS 5.60x64 kann DB nicht öffnen
BeitragVerfasst: 31.08.2017 12:21 
Offline

Registriert: 21.11.2013 21:17
Wohnort: Schweiz
GPI hat geschrieben:
in Zeile 214 ist ein Doppelpunkt zu viel!

Kann ich bestätigen.
Ausserdem solltest du in Zeile 7521 nicht mehr CreateGadgetList verwenden weils nicht mehr gebraucht wird!
Und warum benutzt du Goto in Events? Nimm doch ne Procedure oder so.
Define in Procedure ist auch falsch. Dafür gibt es doch Protected. Siehe Zeile 3, 4, 5, 26, 28, 131, 132 und 255.

scnr


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SQLite macOS 5.60x64 kann DB nicht öffnen
BeitragVerfasst: 31.08.2017 14:57 
Offline

Registriert: 14.08.2014 14:32
In Zeile 214 ist überhaupt kein Doppelpunkt :D

Nachdem ich zwischenzeitlich die DB nochmals frisch aus der APP angelegt habe, konnte ich perfekt zugreifen. Da verrückte ist aber, dass ich sowohl aus der APP als
auch aus der IDE Sätze anlegen konnte. Jedoch sah ich in der APP immer nur die aus der APP angelegten Sätze, in der IDE immer alle.
Aber man muss nicht alles verstehen ...

Das war der Schlüssel:
Zitat:
Ich kann mir vorstellen, daß du einfach annimmst, das das DB File im gleichen Verzeichnis liegt, wie das Hauptprogramm.

Natürlich bin ich davon ausgegangen.


Aus dieser Info habe ich mir folgende Lösung bebastelt:

Code:
Procedure.s MyGetCurrentDirectory()
  Protected dir$
   If IsMac()
    If FindString(ProgramFilename(), "PureBasic.0", #PB_String_NoCase)
      dir$=GetCurrentDirectory()
    Else
      dir$=GetPathPart(StringField(ProgramFilename(), 1, "/Contents/MacOS/"))
    EndIf
  Else
    dir$=GetCurrentDirectory()
  EndIf
  ProcedureReturn dir$
EndProcedure


Danke nochmal!

_________________
MacBook Pro (13-inch, Mid 2012, I7 2.9GHz, 8GB), OSX 10.10, PB 5.31 x64 - VmWare-Fusion: Win7 Home Premium, XP Professional, Ubuntu 14.04 - ZX81 - Apple II - Atari ST


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SQLite macOS 5.60x64 kann DB nicht öffnen
BeitragVerfasst: 31.08.2017 15:12 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Kann aber auch PureBasic.1, PureBasic.2, etc heissen...

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye