Tack för detta svar. Förutom det GIS-programmet jag nämnde har vi även lite specialutvecklade analysprogram varav vi hade utvecklarna för ett av dessa program uppe hos oss i veckan. De skapade en "fullösning" så att deras program nu både kan styra och bli styrd av innehållet i en textfil, dvs programmet sparar kontinuerligt en textfil med aktuell tidsstämpel så att andra program kan få veta var programmet befinner sig i tiden och vice versa.
Frågan för mig är nu om jag kan få FM att dynamiskt läsa av denna textfil utan att behöva köra ett script som importerar textfilens innehåll med ett regelbundet tidsintervall?
Och vice versa, kan jag få FM att dynamiskt skriva till en textfil utan att behöva köra ett screipt som gör detta kontinuerligt?
Förstår jag dig rätt om du vill att FM skall använda filens innehåll utan att behöva regelbundet läsa in den?
I FIleMaker (och sannolikt i alla andra databasprogram) så finns inte möjligheten att bygga en levande relation mellan en textfil på en hårddisk och en tabell. Det existerar helt enkelt inte i databas-världen, vad jag vet.
Men det finns flera lösningar på problemet om vi nu lägger till textfiler som kommunikations-verktyg mellan GIS-programmet och FileMaker.
1. Du kan i FileMaker köra ett script som loopar i evighet. Detta är förstås ingen elegant lösing och troligen kanske den kommer att stjäla väl mycket processorcykler, men det kan fungera.
I det scriptet så kan du lägga in funktionen att importera en textfil, för detta kan du antingen använda FIleMakers egen importfunktion (om filen bara innehåller ett enda värde kan det fungera utmärkt). Importens parametrar lagras lätt i en FM-databas i det manuset som gör importen, det inkluderar sökvägen till filen på hårddisken, matching mellan fält i filen (tex separerade med TAB-tecken) och vilket fält i FM de skall in i.
Kör manuset så börjar FM loopa och importerar värdet om och om igen...
Men en liten varning är förstås på sin plats. De flesta filsystem (Mac OS X, Windows osv) har system där endast ett program i taget och en användare i taget kan få tillgång till samma fil, vad som händer om FM inte kan läsa filen för att GIS-programmet skriver till den, vet jag inte. En krasch låter inte helt orimlig, men det märker du när du prövar.
2. En lösning på problemet med att två program skriver och läser till samma fil är förstås att de inte gör det. Om du kan få GIS-programmet att spara ner nya filer som har nummer istället, så kan FM via en plugin som heter "Troi File Plugin" från Troi Automatisering, läsa av vilka filer som ligger i en mapp, hitta den med högst nummer, importera den och radera alla andra.
http://www.troi.com/software/fileplugin.html
Alltså kommer GIS-programmet att skapa en fil som heter 100000.txt, FM läser av innhållet i mappen GIS-programmet skriver till, hittar den, importear den, raderar den. GIS-programmet skapar en fil som heter 100001.txt och kanske även 100002.txt, och 100003.txt,, FM hittar dessa, ser att 100003.txt, har högst nummer, läsar av den, raderar de övriga, under tiden hinner GIS-programmet skriva även 100004.txt, och 100005.txt, 100006.txt osv...
På det viset så kommer FM och GIS-programmet inte att peta på samma fil samtidigt och denna lösning kan vara väldigt stabil.
Om du in i ekvationen även slänger in en annan plugin: "Events Plugin" från Waves in Motion
http://wmotion.com/events.html
...så kan du schemalägga att importscriptet körs tex var femte sekund eller oftare... (Lite osäker på hur exakt Event-pluggen är när det gäller tidsstyrningn, men en TV-station använder den för att sända program, så helt inexakt kan den inte vara).
Du kan även göra åt andra hållet (kanske i en annan mapp) i vilken FM Pro via Troi File Plugin sparar ner en textfil antingen med olika namn eller med nya namn.
3. Vänd på kuttingen, kanske det du vill göra kanske lättare löses genom att exportera en texfil från FM och sedan skapa en liten applikation som styrs av GIS-programmet som hoppar till rätt textrad i filen och visar innehållet i den raden?
Förutom ovanstående så vidhåller jag mitt tips att ha två databaser, en som innehåller endast en post och som från den enda posten visar rätt information från en relaterad databas som innehåller alla data antingen via en portal (för att visa flera poster) eller bara en post. Relationsnyckeln är förstås tidsstämplen. Det är till denna databas med en enda post som importen av textfilen sker.
<SHAMELESS SELF-PROMOTION>Om det är av intresse att bygga detta så kan jag troligen pilla ihop ett fungerande exempel på sex timmar á 750:- i timmen som innehåller lösning 2 (förutom den biten som GIS-programmet står för). Kontakta mig privat i så fall. :)</SHAMESLESS SELF-PROMOTION>
Lycka till!
/Ola