GMMap AfterPageLoaded Endless Loop - gmlib

I wrote an application using GMLIb a couple of years ago and it has been working up until yesterday.
I read the fix, got a key, recompiled the code with v1.5.4 and v1.5.5 and have the same result.
The code is caught in an endless loop at AfterPageLoaded
if First then
FGMMap.DoMap;
First is never true.
Is anyone else experience this problem.
XE7 on Win7 64
20/05/2017
Removed GMLib. Reinstalled.
Compiled and ran the Megademo and the result is the same. An endless loop at AfterPageLoaded.
Created a simple test program using GMMap component and the result is the same.

I've had the same issue, but it seems that it is solved now!It happened at users who had IE 8 version on their machines - but I don't really know, why...
What is important though, is updating the IE to the latest version solves the problem!

Not so much of an answer, but a very similar issue and - I think - a workaround.
Again, this only affects certain machines, most have IE10 installed. My issue is not that First is never true but that it is always true.
procedure TFMain.GMMapAfterPageLoaded(Sender: TObject; First: Boolean);
begin
if (First) and (PLCount = 0) then // was just if First then
begin
GMMap.DoMap;
BShowInfo.Enabled := True;
end;
Inc(PLCount);
end;
Altering GMMapAfterPageLoaded as above (initialising PLCount to 0 first) seems to give the DoMap call enough time to work properly

Related

UFT micCapsLockOff function not working properly - VBScript

I'm working with UFT- HP with VBScript language and trying to use the function micCapsLockOff that turns the caps lock off.
The problem is that this fucntion sometimes works and sometimes not.
Why is that? may you help?
Thanks...
Follows the code example:
For Index = 0 To 60 Step 1
If WpfWindow("window").Exist(0) Then
WpfWindow("window").Activate
WpfWindow("window").Type micCapsLockOff
WpfWindow("window").Click
End If
Next
I got the solution, this is because I was debugging the code. When I just run it, it worked fine.

sql/db transaction not rolling back properly with ms sql

So I can't get too specific, but I think what I can tell you will be enough to figure this out. First I'm using gorp to set things up and get the transaction. I am using the github.com/denisenkom/go-mssqldb driver.
Then I run through a series of operations and if of them fails I rollback and if all have success I commit. The problem is that it's only rolling back the statement that failed and not the rest of the operations. Am I wrong that this is not how that is suppose to work?
Here is some rough psudocode to give you a better idea of what I'm talking about:
trans,err := dbmap.Begin()
//assume all errors are received and checked before continuing
id := trans.Exec("insert thing") //successful, persists after rollback
thing := trans.Select("Select thing") //successful
trans.Exec("update other_thing with thing") //successful, persists after rollback
newthing := trans.Exec("insert new_thing with thing") //fails, rollsback
if err != nil{
trans.Rollback() //No errors
return
}
trans.Commit()
Am I wrong that that should rollback everything since dbmap.Begin()? Is this a bug in the driver implementation? Any and all help is GREATLY welcome. Thanks!
Update
Tested https://play.golang.org/p/0L3Vgk8C_F and it worked so I'm guessing that means it something to do with gorp. I'm using the v1 branch since this will be production soon and so stability is key. I'll be picking through it, but it looks like it's just wrapping it lightly.
Check you don't have autocomit enabled. Many command line tools, uis and even drivers enable it by default
According to this( I read just a few lines) https://technet.microsoft.com/en-us/library/ms187878(v=sql.105).aspx
autocommit seems to be ON by defauly, that leads me to conclusion that if the author of go-mssqldb didn't implement on/off for this feature its ON.
You can toggle it yourself just search for SET IMPLICIT_TRANSACTIONS

Invalid method when method is valid

I have just started a new version of my Crysis Wars Server Side Modification called InfinityX. For better management, I have put the functions inside tables as it looks neater and I can group functions together (like Core.PlayerHandle:GetIp(player)), but I have ran into a problem.
The problem is that the specified method to get the players' name, player:GetName() is being seen as an invalid method, when the method actually is completely valid.
I would like to know if using the below structure is causing a problem and if so, how to fix it. This is the first time I've used this structure for functions, but it is already proving easier than the old method I was using.
The Code:
Event =
{
PlayerConnect = function(player)
Msg.All:CenteredConsole("$4Event$8 (Connect)$9: $3"..player:GetName().." on channel "..player.actor:GetChannel());
System.LogAlways(Default.Tag.."Incoming Connect on Channel "..player.actor:GetChannel());
Event:Log("Connect", player);
end;
};
The below code works when I bypass the function and put the code directly where it's needed:
Msg.All:CenteredConsole("$4Event$8 (Connect)$9: $3"..player:GetName().." on channel "..player.actor:GetChannel());
System.LogAlways(Default.Tag.."Incoming Connect on Channel "..player.actor:GetChannel());
The Error:
[Warning] [Lua Error] infinityx/main/core.events.lua:23: attempt to call method 'GetName' (a nil value)
PlayerConnect, (infinityx/main/core.events.lua: 23)
ConnectScript, (infinityx/main/core.main.lua: 52)
OnClientEnteredGame, (scripts/gamerules/instantaction.lua: 511)
(null) (scripts/gamerules/teaminstantaction.lua: 520)
Any clarification would be appreciated.
Thanks :)
Well, as PlayerConnect is inside the table Event, and you are calling with a ":", add self as first arg in the function, like:
PlayerConnect = function(self, player)
Clearly, player in the first block of code is not the same as player in the second block of code. The problem must be that the caller of Event.PlayerConnect is not passing the same value.
To test that your Event.PlayerConnect function works, try this in the same place as your second block of code:
Event.PlayerConnect(player)
That should work as you expect.
So, the problem comes down to how Event.PlayerConnect is called without the second block of code. I'm not familiar with that game engine so I don't know how it is done. Perhaps reviewing the documentation and/or debugging that area would help. If you print(player) or call the equivalent log function in both cases, you should see they are different. If you can't run in a debugger, you can still get a stack trace with print(debug.traceback("Accessing player, who's value is: "..player)). If there is indeed some kind of table-based player object in both cases, you can try comparing their fields to see how they are different. You might need to write a simple dumping function to help with that.

jqGrid.GetRowData with Id from double click throwing exception

I have a work flow...
ondblClickRow: function (id) {
debugger;
var rowData = $("#list").getRowData(id);
...
}
This function call is throwing an exception whereas it previously worked. Actually stepping into the mini-fied code I can see that there is an array out of bounds exception of sorts. There are only seven columns and it appears to be calling an eighth (zero indexed-I have columns from 0-6, and it appears to be asking for a seventh). Not sure what is going on in that particular exception. I am still researching, but this was working fine and I did not change anything related to this in weeks. AM I missing something here?
This is kind of a hack work around, but I simply just got the cell values that I needed based on the id and the column names that I needed so I could circumvent any issue that might be occuring... Even though I am not sure what happened. I am still very curious as to why this occured. More research will need to be done for me to be more comfortable with this solution...
var FName = $('#list').getCell(id, 'First_Name');

foreach within package function: does not work on first call

I am trying to add parallel computation option to an R (netresponse) package based on doMC and multicore. The script works ok, but only on the second trial.
To reproduce the bug, start R and run the script below. It gets stuck on the last line. After interrupting with ctrl-c I get a few messages of "select: Interrupted system call". Then, running the same script again will give the expected result without problems.
Is some further initialization needed to get this work properly already on the first run? Or any other tips?
thanks for your support,
- L
require(netresponse)
require(multicore)
require(doMC)
registerDoMC(3)
print(getDoParWorkers())
res <- foreach(i = 1:100, .combine = cbind,
.packages = "netresponse") %dopar% netresponse::vdp.mixt(matrix(rnorm(1000), 100, 10))
Heres the list of dependencies from the help page for package netresponse: "Depends: methods, igraph, graph, minet". I suspect that you are not getting all of them to the workers by just listing "netresponse" on the .packages argument.
Quick fix for problem with foreach %dopar% is to reinstall these packages:
install.packages("doSNOW")
install.packages("doParallel")
install.packages("doMPI")
As mentioned in various threads at StackOverflow, these are responsible for parallelism in R. Bug which existed in old versions of these packages is now removed. I should mention that it will most likely help even though you are not using these packages in your project/package.