Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 6337 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

You can achieve a dynamic setField action by using objects. Name your layout fields as objects. You can go to objects via calculation or other dynamic..then do a generic SetField.

Posted

Hi LR Steve,

Welcome to the forums.

I have spent a few days playing with Auto-Resize and it is very logical.

Am I dissappointed?

Well Yes and No.

I like what i can do with it ... but i do not like that i can not resize grouped objects or anchor objects to each other.

This is definitely an issue in relation to portals as the rows can be extended but multiple fields in each row can not be resized together.

Sorry but I do think this is an issue, but maybe its on its way.

Posted

Hi LR Steve,

This is definitely an issue in relation to portals as the rows can be extended but multiple fields in each row can not be resized together.

I see your point, anchors are relative to the window or container boundaries and not the dynamic position of the nearest object. But typically I find that some fields like State(Abbr),Phone number, Zip Code, price, fields with value list entry, and similar info do not need expansion. Fields like Name, street address, Description, Notes... may benefit from expanded entry/display areas. So you must choose fields that are expandable and fields that remain static in size. Sometimes not ideal, but other times this may actually be preferable to expanding all fields.

Posted

Yes, I am disappointed that field level script triggers did not make it into this rev, and I would like to see layout organizational tools, but that's not enough to dismiss the overall significance and leap forward by FileMaker in 9.

Precisely on target. 100%.

Steven

Posted

I suggest buying a mac... That eliminates all screen flicker completely... sure it's only hundreds more then most pc's but boy do they look good.

Seriously though, it's a shame that the graphics don't render nearly as well on a pc. Half of the time you build something on your mac and then view it on Vista and you have seizures.

Posted (edited)

What's funny is in the past I have seen that Pc's generally run filemaker faster then the Macs(I'll regret saying that....lol). Since we upgraded to 9 I can't say that. Too bad all the other software I use here won't run on a Mac(AutoCad and Altium Designer).

Six,

Since I installed 9 on the client computer that was having the flickering problem. It subsided considerably.

Michael

Edit: In bold

Edited by Guest
Posted

Has anyone reported the screen flickering to FileMaker's support? I've seen this issue pop up quite a bit over the years, generally downloading the newest video drivers for the video card resolves the issue. However I've also seen the issue with... well crappy video cards. Especially with integrated video on the motherboard.

These are the types of issues that the FileMaker community generally accepts, and FileMaker Inc. doesn't see to the degree that they probably should.

Posted

You can achieve a dynamic setField action by using objects. Name your layout fields as objects. You can go to objects via calculation or other dynamic..then do a generic SetField.

No, that's a dynamic Go To Object followed by a Set Field. It's a workaround, not the real thing. I can set field without the field being on the layout. I cannot do that with this technique.

Posted

Yes, I am disappointed that field level script triggers did not make it into this rev,

I'd like script triggers, but the zipTools people produce a completely satisfactory FREE product. What's the big deal about installing a plug in?

Posted

With the data source features, FM9 is going to open up a sizable market share that wasn't there before. That's HUGE. The Scriptmaker changes will be ARE helpful as are conditional formatting and the Self function.

Yes, some of the new features are touted as the cat's pyjamas and are pretty lame, but that's marketing material for you.

I think developers were expecting something as developmentally helpful as $ variables or as client-side useful as the web viewer, but the data source changes are just as big, just in a different arena.

And FM9 hasn't taken anything away, there's no new file format, no need to upgrade your clients. I can't imagine why developers wouldn't upgrade ourselves, professionals that we are, if only for script management, but you're not missing out on much if you don't 'cause your clients don't need you to.

Posted (edited)

Very very disappointed by this version, that should have been called a 8.5v2 rather than a full nine.

We almost have any Get actions available, but no Set at all, for SetField ( ) or even better to set properties on objects, or some stupid checkboxes that should be calculated rather than hardcoded.

Conditional formatting is cool, but only the conditions are calculated, there's no way of calculating the formatting, and no formatting on objets ( except text objects ).

This version as it is in my opinion is a total unaccomplished version, with many old bugs remainings, many options still missing.

The multi modal script window is probably the best thing ( but should have been there since 8 ) and the debugging mode is perfect now.

I had no luck with the auto-resize and I can't understand script trigger on event isn't implemented in this release. Why FMI prefers those plug-ins developers to take the "risk"?

Nevertheless, lets go along with this new version and try

Edited by Guest
Posted

I don't think there are any "rules"... there's just general familiarity with behaviors derived from hours of building layouts. The screen refresh behavior, relational/unstored value updates,and... when is "Feeze Window" really "Freeze Window" and when not. Those are all undocumented behaviors that change from rev to rev... especially while the FM graphics engine seems to be in a state of flux since intro of seven.

Once you start paying attention to that kind of thing, the distracting flickers, flashes, and gyrations can be minimized.

Posted (edited)

No, that's a dynamic Go To Object followed by a Set Field. It's a workaround, not the real thing. I can set field without the field being on the layout. I cannot do that with this technique.

OK, I know it's a work around, but its not huge... just one extra script step. I've been playin' in FM since 2.0... now those were work around days. :

Edited by Guest
Posted

Well, no it still pretty annoying. It may be one extra script step but remember that you also have to a) have the field on the layout and : give every field you want to set an additional object name.... Its really almost the same as looping through all the fields on the layout and setting the field that evaluates to the correct name.

Posted

Well, I would think it wouldn't be too hard to make a plug-in that does a dynamic SetField by using the ExecuteSQL() API and using an UPDATE statement. That would only allow setting fields in the current record though, as the SQL code can't "see" the relationship graph - still, it would be better than nothing.

Posted

Yeah, I tried it out, and it seems to work out fine.

Plug-in developers, please feel free to borrow the following plug-in idea:

A dynamic set-field as an external function:

SPF_SetField( tableName, fieldName, recordId, textData )

I slapped togather a quick one like this:


FMX_PROC(fmx::errcode) SPF_SetField(short funcId, const fmx::ExprEnv& environment, const fmx::DataVect& dataVect, fmx::Data& result)

{

    fmx::errcode        err = 0;



	const fmx::Text&	      tableName = dataVect.AtAsText(0);

	 const fmx::Text&        fieldName = dataVect.AtAsText(1);

	 const fmx::Text&	      rowId = dataVect.AtAsText(2);



	 // Just use text for this example

	 const fmx::Text&        textToSet = dataVect.AtAsText(3);



	fmx::TextAutoPtr    updateText;

	fmx::TextAutoPtr    tempText;

	

	updateText->Assign("update ");

	updateText->AppendText(tableName);



	tempText->Assign(" set ");

	updateText->AppendText(*tempText);

	

	updateText->AppendText(fieldName);

	

	tempText->Assign(" = '");

	updateText->AppendText(*tempText);



	updateText->AppendText(textToSet);

	

	tempText->Assign("' where rowId = ");

	updateText->AppendText(*tempText);

	

	updateText->AppendText(rowId);

	

	err = environment.ExecuteSQL( *updateText, result, 0, 0 );

 

    return err;

}

Posted (edited)

See that code actually makes perfect sense, why can't the FM examples ever be decent. Then again the last time I gave plugin development a shot I had no clue what OOP was.

Shawn, if you could, how would that example look if you wanted to make it server side?

Edited by Guest
Posted

I would think this function would work server-side as-is. Whether it is allowed be run on the server is decided by settings when you register the function (which I didn't show above).

All it uses is the ExecuteSql() call, which is the internal 'experimental' SQL API, (which does not use the FM ODBC driver), so it should be able to always work on either the server or a client.

But, I only tested this as a client side plug-in, I don't run a server.

Also, any users of this plug-in code should realize this sort of side-effect action is inherently "unexpected" by FM Pro, and I would suggest running this calculation only from a script - I tried putting one into a calculation in the field definitions and it came back with a record locking error. (it was the same table being accessed the the calculation was defined in).

Posted (edited)

Shawn,

come back !

THE SHADOW FOR PRESIDENT !

Edited by Guest
Posted

Awesome, I think I remember some of the function registration so might play around with the Idea and see how it works out.

Cheers again Shawn.

Posted

1. No Script Triggering via Enter, Exit field events. Don't even get me started with this issue.

4. No Script Triggering via Enter, Exit field events. Don't even get me started with this issue. Ooops, already said that ;-) I'm sure I'm not the only extremely frustrated by this. This feature should have been in version 7.0! Is FileMaker really listening to developers? If I'm not mistaken, doesn't M$ ACCE$$ have the ability for field level script triggering? I was really hopeful that with FM 9, we developers would finally get this feature (NATIVE) to FM without the use of external plug-ins. When is version 10 coming out again?

8. Guess what, no keyboard shortcut for to get to the Custom Function dialog box (grrrrr).

9. While we're at it, there is no keyboard shortcut to the Value Lists dialog box (grrrr x 2). I'd really like to see this happen sometime soon.

1. & 4. You can trigger scripts when entering a field, you set up the field to act as a button, which is done through "Button Setup" when right clicking (or control clicking for you Mac Heads)

8. & 9. You can create your own keyboard shortcuts for ANY menu option through Custom Menu Sets

both of the things I have just mentioned have been available in 8 and 8.5

Posted

8. & 9. You can create your own keyboard shortcuts for ANY menu option through Custom Menu Sets

Unfortunately, Custom Function menu is not one of those options :

Posted

With Mac OS X, you can set your own shortcuts from the keyboard pref pane.

Takes some time to set up, but very handy.

Posted

1. & 4. You can trigger scripts when entering a field, you set up the field to act as a button, which is done through "Button Setup" when right clicking (or control clicking for you Mac Heads)

While this is useful in rare circumstances in some work around, in most cases its not workable, especially when the user is tabbing through the fields and suddenly they get to a button that looks like a field that they have to hit enter to get into - Its 2007, and the primary reason we want these triggers is not for "on field enter" but more like onchange, onexit etc.

This topic is 6337 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.